Zahlen mit Anzahl Nachkommastellen
-
Hallo,
ich habe eine Zahl (single oder double) die mit einer Anzahl von Nachkommastellen angezeigt werden soll.
Die Zahl soll nicht gerundet, sondern nur Nachkommastellen abgeschnitten werden.Zahl: 123,12
Angezeigt mit einer Nachkommastelle: 123,1
Angezeigt mit zwei Nachkommastellen: 123,12
Angezeigt mit drei Nachkommastellen: 123,120Zahl: 123
Angezeigt mit einer Nachkommastelle: 123,0
Angezeigt mit zwei Nachkommastellen: 123,00
Angezeigt mit drei Nachkommastellen: 123,000Wie könnte ich das lösen, bin für jeden Tipp dankbar ????
Danke !!!
-
Was du beschreibst, ist keine mathematische Operation, sondern eine Manipulation der speziellen Darstellung im Zehnersystem. Daher tu genau das: Schreib die Dezimaldarstellung in einen String (Bis zu einer hohen Genauigkeit, ca. 8 Stellen für Float oder 16 für double), und schneide diesen wie gewollt zurecht. Bereite dich auf Enttäuschung vor, denn deine Frage lässt vermuten, dass du falsche Annahmen darüber machst, was Zahlen sind. Wenn du beispielsweise denkst, dass der double 123.12 gleich dem Dezimalwert 123.12 wäre, dann wirst du überrascht sein über deine Ausgabe.
Falls du dich damit abgefunden hast, dass deine Anforderung vielleicht doch nicht so gut ist, kannst du auch
Math.Truncatein Betracht ziehen: Multipliziere deinen Wert mit 10^(Anzahl gewünschter Stellen); Truncate; dann wieder durch 10^(Anzahl gewünschter Stellen) teilen. Das macht nicht ganz exakt das, was du beschreibst, aber vielleicht eher das, was du willst.