Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.910 Beiträge
 
Delphi 12 Athens
 
#1

Runden ohne nachfolgende Nullen

  Alt 10. Mär 2017, 15:53
Hallo zusammen,

ich wollte die nachfolgenden Nullen einer Zahl abschneiden, und
nach ein bischen rumgerechne hab ich es aber aufgegeben das mit Mathematik zu lösen,
und habs dann doch wieder mit String-Operationen in einer Schleife gelöst.
War wohl schon zu müde und hatte zu wenig Zeit.

Aber trotzden würde mich interessieren wie man das am elegantester löst:

Ich möchte Fließkommazahlen auf z.B. 3-nachkommastellen runden, und als String
formatieren.
Z.B. mit LTxt := Format('%1.3f', [ dblNumber]); .

Da kommt dann z.B. das raus:
1,234
2,404
2,001
1,000
1,100
1,403
2,330

Aber dann möchte ich die training Zero's löschen:

1,234 --> 1,234
2,404 --> 2,404
2,001 --> 2,001
1,000 --> 1
1,100 --> 1,1
1,040 --> 1,04
2,330 --> 2,33

Mit String-Operationen geht das, aber es sollte doch auch einen mathematischen Weg
Geben, so ala RoundTo(dblNumber, -3); ?

Wie würdet Ihr das machen ?

Rollo
  Mit Zitat antworten Zitat