![]() |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Sage mal, stimmt das mit deiner Delphi Version "Delphi 2 Desktop"?
Vielleicht kann die noch gar nicht so große Zahlen ... :stupid: |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Er sagte doch
Zitat:
|
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Hallo easy,
lass' mich raten: du hast die Optimierung für dein Projekt eingeschaltet und beobachtest die Werte im Debugger. Falls dies so ist, schalte die Optimierung aus und führe die Versuche erneut durch. Gruß Hawkeye |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Moin,
erstmal danke für die reichhaltige Reaktion. :) Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Welche Optimierung? Sonnige Grüsse, easy. |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Zitat:
Sonnige Grüsse, easy. |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Zitat:
Code:
dBalance ist und bleibt 0...
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, fmtSettings);
fmtSettings.DecimalSeparator:=','; dBalance:=StrToFloat('12345,67', fmtSettings); Ich verstehe es einfach nicht... :( EDIT: Jetzt kommt der Hammer, Wenn ich das fmsSettings.DeciamlSeparator:=... auskommentiere geht es... Natürlich habe ich das Problem, dass das ganze dann nur auf ein Wintendo mit deutscher Locale funktioniert... Oh man.. Ich geh erstmal eine rauchen.... Sonnige Grüsse, easy. |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Erstmal mußt du bedenken, daß StrToFloat und Co. sprachabhängige Systemeinstellungen für "," "." usw. verwenden.
englisch - Dezimalpunkt - Komma als Tausendertrennzeichen deutsch - Dezimalkomma - Tausenderpunkt Dann gibt es in einigen Windows 7-Intallationen einen "Fehler", welcher dein Programm andere Werte auslesen läßt, als in der Systemsteuerung angezeigt werden. - speziell betrifft das einige deutsche (vorinstallierte) Windows 7, wo die deutschen Einstellungen nicht überall eingetragen sind - Delphi list dabei dann leider die englischen Einstellungen aus. obwohl der Benutzer auf deutsch eingestellt ist. (Problem: dort sind natürlich , und . vertauscht) Dazu gibt es schon mehrere Threads > Lösung: Die Sprachoptionen in Windows auf Englisch stellen und dann zurück auf Deutsch, Lösungen für dich und dein Problem, denn so oder so bleibt das Zahlenformat sprachabhängig: - entweder die Zahlen in einem sprachabhängigen Format besorgen - oder StrToFloat sprachunabhängig machen (PS: es gibt ein ![]() [edit] Zitat:
Zitat:
PS: GetLocaleFormatSettings mußt du nicht unbedingt nutzen, es reicht auch, wenn du da einfach die (nötigen) Werte direkt setzt, also die Werte, welche von der entsprechenden Funktion genutzt werden. |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Zitat:
Zitat:
Ich mein, entweder funktioniert es top oder gar nicht.. Aber so mal hü mal hott ist ja das, was mich hier um den Verstand bringt... Zitat:
Zitat:
Sonnige Grüsse, easy |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
Zitat:
Wenn z.B. GetLocaleFormatSettings ein englisches Format liefert und du nur den Dezimaltrenner setzt, dann hast du zweimal das "Komma" in dieser Struktur. Und die Exception kommt dann davon, daß der "Punkt" unbekannt ist. Zitat:
Über GetLocale und Co. geht man, wenn mehr von der Funktion genutzt wird (bzw. man nicht weiß was alles benutzt wird) und man nur einiges davon ändert, bzw. selber setzt. So spart man sich das Ausfüllen der restlichen Werte. :angle2: |
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
GetLocaleFormatSettings liefert immer die richtigen deutschen Einstellungen zurück. Also Decimal = ',' und Thousand = '.'...
Da mir aber momentan die Zeit fehlt, der Ursache weiter auf den Grund zu gehen, und das Format für die Zahl feststeht werde ich mir schnell ein eigenes StrToFloat hacken... Hab schon jetzt über nen halben Tag mit der Fehlersuche verbraten.. Trotzdem Danke für Eure Antworten. :) Sonnige Grüsse, easy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz