![]() |
Konvertierungsproblem
Hallo,
ich glaub ich brauch mal einen kleinen Denkanstoß, denn irgendwie fällt mir nix mehr ein. Ich hab einen String, den ich in einen Double verwandeln möchte. Das Problem ist nur, dass da statt einem komma ein punkt steht (z.B. 6.796400000). das problem hab ich erst mal so gelöst, dass ich die zahl vor dem punkt und die Zahl nach dem Punkt mit Copy ausschneide, dann ein Komma einfüge und dann in ein Double umwandle. sozusagen so:
Delphi-Quellcode:
nun is aber das Problem, dass die Zahl vor dem Komma ja nicht unbedingt einstellig sein muss. ganzeZahl := Copy(Node,1,1); Nachkommazahl := Copy(Node,3,8); kompletteZahl := ganzeZahl + ',' + Nachkommazahl; result := StrToFloat(kompletteZahl); Vlt, kann mir ja einer sagen, wie man den Punkt noch umwandeln könnte. danke schon mal lg Hermann |
Re: Konvertierungsproblem
Delphi-Quellcode:
Alternativ kannst du den DecimalSeparator vorher sichern und wiederherstellen.
DecimalSeparator := '.';
FloatVar := StrToFloat (StringVar); |
Re: Konvertierungsproblem
vielen Dank...hat super funktioniert
|
Re: Konvertierungsproblem
Hallo,
nur am Rande sei bemerkt: Für die Umwandlung von und zur Standard-Notation werden seit jeher die Pascal Routinen Val() und Str() verwendet. StrToFloat() und FloatToStr() funktionieren zwar auch, sind aber deutlich aufwendiger und eigentlich für lokalisierte Darstellungen gedacht. Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 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