AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Exponentialdarstellung als String in eine Fließkommazahl kon
Thema durchsuchen
Ansicht
Themen-Optionen

Exponentialdarstellung als String in eine Fließkommazahl kon

Ein Thema von DelphiManiac · begonnen am 23. Jul 2007 · letzter Beitrag vom 24. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Exponentialdarstellung als String in eine Fließkommazahl kon

  Alt 23. Jul 2007, 15:49
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 ?

Danke euch
Miniaturansicht angehängter Grafiken
error_189.gif  
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 15:52
Es dürfte an dem Komma liegen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#3

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 15:54
Mmmh,

also ich biege das eigentlich schon um über die formatsettings:

Delphi-Quellcode:
  GetLocaleFormatSettings(GetUserDefaultLCID, formatSettings);
  formatSettings.DecimalSeparator := '.';
  FMeasureFloat:=StrToFloat(Text,formatSettings);
  Mit Zitat antworten Zitat
silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#4

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 15:57
Zitat von DelphiManiac:
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 ?

Danke euch
Du musst den Punkt durch ein Komma ersetzen, dann funktionierts
 StrToFloat('35,5E-3') edt: Und wieder mal zu spät
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat
Benutzerbild von calculon
calculon

Registriert seit: 16. Sep 2006
256 Beiträge
 
Delphi 7 Personal
 
#5

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 15:57
Was halt geht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
a: real;
begin
  DecimalSeparator := '.';
  a := strtofloat('35.5E-03');
end;
Deshalb schätze ich auch:

Zitat von sirius:
Es dürfte an dem Komma liegen.
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#6

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 15:59
@calculon:

aber ich setze doch das Trennzeichen schon auf Punkt anstatt Komma...


formatSettings.DecimalSeparator := '.'; komisch, komisch
  Mit Zitat antworten Zitat
silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#7

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 16:17
Zitat von DelphiManiac:
@calculon:

aber ich setze doch das Trennzeichen schon auf Punkt anstatt Komma...


formatSettings.DecimalSeparator := '.'; komisch, komisch
Hallo, Antwort findet sich u.A. hier:
siehe Antwort 5

Hast Du auch geschrieben?:
StrToFloat('35.5E-3',formatsettings); Gruß
sm2k
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#8

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 16:21
Ja habe ich geschrieben:


Delphi-Quellcode:
  GetLocaleFormatSettings(GetUserDefaultLCID, formatSettings);
  formatSettings.DecimalSeparator := '.';
  FMeasureFloat:=StrToFloat(Text,formatSettings);
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#9

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 16:28
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..
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Exponentialdarstellung als String in eine Fließkommazahl

  Alt 23. Jul 2007, 16:39
Da hing also ein [Enter] hintendrann.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:04 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