# double-Wert auf 2 Stellen nach dem Komma abschneiden



## reibi (2. Okt 2008)

Hallo zusammen

ich hab sowas:


```
double d=34.56789;
```

und will das er sowas nachher sowas anzeigt:

*34.56 Westmark*

Und ohne dass ich ne Stringmanipulation machen muss!

Danke und Gruss ;-)


----------



## SlaterB (2. Okt 2008)

d = Math.floor(d*100)/100.0;


----------



## Ark (2. Okt 2008)

Warum nur habe ich dieses komische Gefühl, dass für einen längeren Zeitraum (z.B. eine Woche) immer die gleichen Fragen gestellt werden? ???:L

Ark


----------



## reibi (2. Okt 2008)

Hallo Ark

Dein komisches Gefühl wirst Du dann los wenn Du nachschaust, dann bist Du Dir sicher ;-)


----------



## reibi (2. Okt 2008)

Also SlaterB: 

Danke erstmal für die Lösung; 

Die ist auch nich schlecht, aber nich so selbsterklärend beim späteren Codedurchschauen. Also JavaProgrammieren hat ja auch was mit schneller Checkung zu tun beim durchlesen.

Das ist im Endeffekt genau so aufwendig wie ne Stringmanipulation. Und: Ich möchte ja mit "d" weiterrechnen im weiteren Programmverlauf.

Im guten alten TurboPascal gabs sowas

writeln(d:2);

Da blieb der vollständige Wert mit allen Nachkommastellen erhalten und es wurden aber trotzdem nur 2 angezeigt.

Weeste wie? ;-)


----------



## SlaterB (2. Okt 2008)

String.format() oder DecimalFormat mit den entsprechenden Format, 
kann aber gut sein, dass die normal aufrunden, und nicht so wie in deinem Beispiel nur die Zahlen abschneiden


----------



## 0x7F800000 (2. Okt 2008)

ich weiß jetzt nicht was da mit dem TurboPascal los war, in dem _guten alten_ C gab es jedoch die printf() funktion, die in sehr vielen Sprachen 1:1 übernommen wurde:

```
System.out.printf("%.2f", 123.45678);
```


----------

