Einzelnen Beitrag anzeigen

Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#28

Re: Fehler bei StrToFloat(StrAlsIntegerFormatiert)

  Alt 17. Apr 2007, 09:36
result:= StrToFloat(format('%.' + IntToStr(decPlaces) + 'n', [toFormat])); Wenn Du toFormat mit n formatierst werden wieder Tausendertrennzeichen in den String eingeführ.
StrToFloat mag aber keine Tausendertrennzeichen.
Wenn Du hier die Nachkommastellen haben willst,machen die nur als String einen Sinn,
denn wenn Du das ganze wieder in einen Floatwert konvertierst ist die Angabe von Nachkommastellen
relativ zweckfrei. Die Realwerte haben nur soviele Nachkommastellen wie nötig sind.

result:= StrToFloat(format('%.' + IntToStr(decPlaces) + 'f', [toFormat])); [/delphi]
Ist unsinning, kürzer ist result:=toFormat; und kommt auf das gleiche heraus.

Die getrennte Angabe von Nachkommastellen in der DB macht für mich nur Sinn wenn value ein Integerwert ist.
Floats werden in der DB wohl mit der richtigen Nachkommastellenanzahl gespeichert.
Vielleicht macht es noch Sinn um die Maximale Nachkommastellenanzahl zu begrenzen,
dann würde aus 123456,33333333 mit NKS=4 -> 123456,3333 -> was aber die Rechengenauigkeit einschränckt.

Deswegen würde ich runden, wenn das Gesamtergebnis präsentiert werden soll und nicht schon beim Einlesen
der einzelnen Werte.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat