| Autor |
Beitrag |
Hendi48
      
Beiträge: 271
|
Verfasst: Do 04.10.07 16:34
Hi,
ich möchte gerne mit einer Kommazahl rechnen (z.B. 10.97). Dazu habe ich ein Extended deklariert und mit StrToFloat versucht den String (10.97) darein zu tun, aber es kommt immer "'10.97' is not a valid floating point value". Ich habe schon versucht den Punkt durch ein Komma zu ersetzten und hab auch schon DezimalSeparator auf Punkt gesetzt, aber es geht immer noch nicht. Was mach ich denn falsch?
|
|
Critter
      
Beiträge: 328
Erhaltene Danke: 3
Windows 7
Delphi 7 Pro.
|
Verfasst: Do 04.10.07 16:46
Hallo,
hast du vielleicht noch leerzeichen oder Zeilenumbrüche in deinem String?
critter
_________________ Diejenigen, die grundlegende Freiheiten aufgeben, um ein wenig mehr vorrübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit.
(Benjamin Franklin;"The Papers of Benjamin Franklin", Vol. 6, Apr. 1, 1755, through Sep. 30, 1756)
|
|
Hendi48 
      
Beiträge: 271
|
Verfasst: Do 04.10.07 16:51
Nein, wenn ich StrToFloat('10.97'); mach geht es auch nicht.
|
|
Allesquarks
      
Beiträge: 510
Win XP Prof
Delphi 7 E
|
Verfasst: Do 04.10.07 17:09
probiers mal mit komma statt punkt das sollte man auch global regeln können über decimalseperator was da verwendet wird
Grüße
|
|
Hendi48 
      
Beiträge: 271
|
Verfasst: Do 04.10.07 17:22
Ich hab es ja oben schon geschrieben dass ich das probiert hab - es geht nicht =(
|
|
Allesquarks
      
Beiträge: 510
Win XP Prof
Delphi 7 E
|
Verfasst: Do 04.10.07 17:24
oh hatt ich überlesen aber versuchs doch trotzdem mal mit komma vielleicht liegts ja daran dass das Setzen des Seperators nicht funktioniert
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Do 04.10.07 17:34
Hat er doch auch schon. Bitte aufmerksam lesen 
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
bushwalkbackflip
Hält's aus hier
Beiträge: 3
|
Verfasst: Do 04.10.07 22:10
also StrToFloat('10,97'); funktioniert bei mir. habe einfach ein neues projekt erstellt und das in die formcreate reingeschrieben -> funktioniert. bei nem punkt gab es ne fehlermeldung. ich meine, noch im kopf zu haben, dass wir in der schule immer StrToFloatF benutzt haben... bin mir aber nicht mehr so ganz sicher. ansonsten würd ich an deiner stelle einfach mal die hilfe fragen 
|
|
jaenicke
      
Beiträge: 19343
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 04.10.07 22:39
Wie wäre es mit einem Beispielcode, der bei dir nicht geht? Insbesondere mit dem Versuch, den Separator zu ersetzen? Weil bei mir gibts da keine Probleme, deshalb würde ich das gerne mal mit deinem Code bzw. deiner Exe testen. Vielleicht liegts ja an deinen Systemeinstellungen.
|
|
Arne Danikowski
      
Beiträge: 194
|
Verfasst: Do 04.10.07 23:25
Hast Du mal versucht den wert vorher in eine Variable zu schreiben?
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var zahl1,zahl2:String
begin Zahl1=:=0.8 Zahl2:=StrToFloat(Zahl1); end |
das funzt 100 pro
und
Delphi-Quelltext 1: 2: 3:
| Var zahl1:String; begin Zahl1:=1.93; |
geht auch, da brauch ich kein StrToFloat
|
|
jaenicke
      
Beiträge: 19343
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 04.10.07 23:32
Arne Danikowski hat folgendes geschrieben: | Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var zahl1,zahl2:String
begin Zahl1=:=0.8 Zahl2:=StrToFloat(Zahl1); end |
das funzt 100 pro |
Wie das?
Erste Zeile: 0.8 ist ein Fließkommawert, Zahl1 ein String...
Zweite Zeile: StrToFloat gibt einen Fließkommawert, Zahl2 ist ein String...
Arne Danikowski hat folgendes geschrieben: | und
Delphi-Quelltext 1: 2: 3:
| Var zahl1:String; begin Zahl1:=1.93; |
geht auch, da brauch ich kein StrToFloat |
Zahl1 ist ein String, 1.93 ein Fließkommawert...
|
|
Arne Danikowski
      
Beiträge: 194
|
Verfasst: Fr 05.10.07 11:48
Ops mein Fehler kein String sind natürlich Single
richtig muss es heissen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| var zahl1:Single; zahl2:String;
begin Zahl1=:=0.8 zahl2:=FloatToStrF(Zahl1, ffnumber, 7,2); edit1.text:=zahl2; end |
da hab ich net aufgepasst 
|
|
Hendi48 
      
Beiträge: 271
|
Verfasst: Fr 05.10.07 14:50
Ah, ich hab den Fehler gefunden...es war noch ein Tab an der Value dran, das sah man aber weder in der Fehlermeldung, noch wenn man es in einer ListBox anzeigen lässt. Erst als ich die ListBox in eine Datei gespeichert hab war das Tab sichtbar. Ohne das geht's jetzt!
|
|