![]() |
Exponentialdarstellung als String in eine Fließkommazahl kon
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe folgendes Problem, ich bekomme einen String zurverfügung gestellt, der folgendermaßen aussieht '35.5E-03' Diese Exponentendarstellung will ich als Fließkommawert haben, als double z.B.: Leider bekomme ich folgende Exception (im Anhang) Kann StringToFloat nicht mit der Exponentialdarstellung umgehen, oder habe ich einen falschen Fehler gemacht :lol: :lol: ? Danke euch |
Re: Exponentialdarstellung als String in eine Fließkommazahl
Es dürfte an dem Komma liegen.
|
Re: Exponentialdarstellung als String in eine Fließkommazahl
Mmmh,
also ich biege das eigentlich schon um über die formatsettings:
Delphi-Quellcode:
GetLocaleFormatSettings(GetUserDefaultLCID, formatSettings);
formatSettings.DecimalSeparator := '.'; FMeasureFloat:=StrToFloat(Text,formatSettings); |
Re: Exponentialdarstellung als String in eine Fließkommazahl
Zitat:
Delphi-Quellcode:
edt: Und wieder mal zu spät :roll:
StrToFloat('35,5E-3')
|
Re: Exponentialdarstellung als String in eine Fließkommazahl
Was halt geht:
Delphi-Quellcode:
Deshalb schätze ich auch:
procedure TForm1.Button1Click(Sender: TObject);
var a: real; begin DecimalSeparator := '.'; a := strtofloat('35.5E-03'); end; Zitat:
|
Re: Exponentialdarstellung als String in eine Fließkommazahl
@calculon:
aber ich setze doch das Trennzeichen schon auf Punkt anstatt Komma...
Delphi-Quellcode:
komisch, komisch
formatSettings.DecimalSeparator := '.';
|
Re: Exponentialdarstellung als String in eine Fließkommazahl
Zitat:
![]() Hast Du auch geschrieben?:
Delphi-Quellcode:
Gruß
StrToFloat('35.5E-3',formatsettings);
sm2k |
Re: Exponentialdarstellung als String in eine Fließkommazahl
Ja habe ich geschrieben:
Delphi-Quellcode:
GetLocaleFormatSettings(GetUserDefaultLCID, formatSettings);
formatSettings.DecimalSeparator := '.'; FMeasureFloat:=StrToFloat(Text,formatSettings); |
Re: Exponentialdarstellung als String in eine Fließkommazahl
Sorry,
aber das Problem scheint ein anderes zu sein, der String hat noch nichtdruckbare ASCII Zeichen, die mir nicht aufgefallen sind, der komplette String sieht so aus: '34.7E-03'#$D#$A Deswegen klappt die Konvertierung nicht, und in die Exception kann die nichtdruckbaren Zeichen ja nicht darstelle, deswegen habe ich es nicht gesehen, mein Fehler... Gruß und Dank an Euch.. |
Re: Exponentialdarstellung als String in eine Fließkommazahl
Da hing also ein [Enter] hintendrann.
|
Re: Exponentialdarstellung als String in eine Fließkommazahl
Hallo,
setzt sich ein Enter aus <CR> <LF> zusammen? Gruß DelphiManiac |
Re: Exponentialdarstellung als String in eine Fließkommazahl
Jawohl, anders geschrieben #13#10. Das bekommst Du mit trim() aber weg.
|
Re: Exponentialdarstellung als String in eine Fließkommazahl
Hi
DeddyH, das heißt Trim entfernt nicht nur Leerzeichen, sondern auch nicht druckbare Zeichen? Aber ich brauche das <CR><LF> eigentlich an der Stelle, da ich ja das Ende erkennen muss, um zuwissen, wann die ASCII Darstellung der Fließkommazahl zu ende ist. Danke dir |
Re: Exponentialdarstellung als String in eine Fließkommazahl
In meiner Hilfe (hier: Delphi 5) steht zu trim() als erste Zeile:
Zitat:
|
Re: Exponentialdarstellung als String in eine Fließkommazahl
Tja da hast du wohl recht :-)
Habe bei Leerzeichen schon aufgehört zu lesen.. :-)
Delphi-Quellcode:
if Text = 'Leerzeichen' then break;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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