AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2 Nachkommastellen

Ein Thema von Ouou · begonnen am 8. Apr 2010 · letzter Beitrag vom 8. Apr 2010
Antwort Antwort
Seite 1 von 3  1 23      
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#1

2 Nachkommastellen

  Alt 8. Apr 2010, 10:50
Hallo Delphianer,

ich habe hier ein kleines problem und zwar habe benötige ich in meinen Edits 2 Nachkommastellen.

Hier habe ich mal einen Quellcode wie es bei mir aussieht bis jetzt.

Delphi-Quellcode:
for i := 1 to 12 do
  begin
    ergebnis := ergebnis + FloatToStrF(TEdit(FindComponent('Edit' + IntToStr(i))).Text, ffFixed, 8, 2);
  end;
Müsste eigentlich die richtige Funktion sein...

Kann jemand helfen?

MFG

[edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: 2 nach Kommastellen

  Alt 8. Apr 2010, 10:51
Ich würde erst das Ergebnis formatieren
Markus Kinzler
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#3

Re: 2 nach Kommastellen

  Alt 8. Apr 2010, 10:52
was ist daran deiner Meinung nach falsch?
Was kommt bei raus/ was bekommst du für eine Fehlermeldung?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#4

Re: 2 nach Kommastellen

  Alt 8. Apr 2010, 10:56
Zitat von Ouou:
Delphi-Quellcode:
for i := 1 to 12 do
  begin
    ergebnis := ergebnis + FloatToStrF(TEdit(FindComponent('Edit' + IntToStr(i))).Text, ffFixed, 8, 2);
  end;
FloatToStr wandelt einen Float-Wert in einen String um - logisch. Aber du gibst ihm mit TEdit.Text einen String rein, anstatt einer Zahl. Wenn ergebnis eine Float-Variable ist, müsstest du wohl eher StrToFloat nutzen.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#5

Re: 2 Nachkommastellen

  Alt 8. Apr 2010, 11:16
Wenn ich es mit StrToFloat mache sind es zu viele parameter...

Delphi-Quellcode:
for i := 1 to 12 do
  begin
    ergebnis := ergebnis + StrToFloat(TEdit(FindComponent('Edit' + IntToStr(i))).Text, ffFixed, 8, 2);
  end;
Sry mein Fehler ich poste mal den ganzen Quellcode von der procedure.

Delphi-Quellcode:
procedure TfrmKostenaufstellung.Edit1Change(Sender: TObject);

var
  ergebnis: Real;
  i: integer;
begin
  ergebnis := 0;

  for i := 1 to 12 do
  begin
    ergebnis := ergebnis + StrToFloat(TEdit(FindComponent('Edit' + IntToStr(i))).Text, ffFixed, 8, 2);
  end;
  Edit1201.Text := FloatToStrF(ergebnis, ffFixed, 8, 2);
begin
  ergebnis :=0;

  for i := 1201 to 1206 do
  begin
    ergebnis := ergebnis + StrToFloatDef(TEdit(FindComponent('Edit' + IntToStr(i))).Text,0);
  end;
  prodLK.Text := FloatToStrF(ergebnis, ffFixed, 8,2);
end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

Re: 2 Nachkommastellen

  Alt 8. Apr 2010, 11:21
ergebnis := ergebnis + StrToFloat(TEdit(FindComponent('Edit' + IntToStr(i))).Text); BTW:
Zitat:
Edit1201.Text
Da steigst Du noch durch?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#7

Re: 2 Nachkommastellen

  Alt 8. Apr 2010, 11:23
Zitat:
Wenn ich es mit StrToFloat mache sind es zu viele parameter...
Dann wäre es gut, wenn du dir mal ansiehst, was Delphi-Referenz durchsuchenStrToFloat für Parameter möchte?

Zitat:
Da steigst Du noch durch?
Es muß ja nicht heißen, daß alle "Nummern" verwendet sind (hoffe ich mal),
sondern daß er sich sozusagen Zifferngruppen erstellt hat.

z.B. 1. Zeile Edit101 bis Edit106 und eben 12. Zeile Edit1201 bis Edit1206

Mit über 1200 Edits und noch anderen Kompunenten wäre die Form ja etwas "überfüllt"
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#8

Re: 2 Nachkommastellen

  Alt 8. Apr 2010, 11:31
jap da steig ich noch durch...
ich habs genauso gemacht wie himitsu es geschrieben hat...

bei diesem beispiel habe ich die zifferngruppe 1-12 (edits). und den edits will ich 2 nach kommastellen hinzufügen.
  Mit Zitat antworten Zitat
Ouou

Registriert seit: 16. Mär 2009
108 Beiträge
 
Delphi 2007 Architect
 
#9

Re: 2 Nachkommastellen

  Alt 8. Apr 2010, 11:39
wenn ich es mit

ergebnis := ergebnis + StrToFloat(TEdit(FindComponent('Edit' + IntToStr(i))).Text); mache, kommt eine debuger-exception das im projekt eine exception der klasse EConvertError mit der Meldung ' " ist kein gültiger Gleitkommawert' aufgetreten.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#10

Re: 2 Nachkommastellen

  Alt 8. Apr 2010, 11:41
Dann nimm halt TryStrToFloat oder StrToFloatDef.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz