Zaokrąglanie liczby double do dwóch miejsc po przecinku

0

Mam napisany już cały kod, lecz zaokrągla mi np liczbę
6950,6957 do liczby 6950,7
chodzi o to, żeby wyświetlało 6950,70 i koniecznie był to double.
Korzystam z

Math.round()

Czy wie ktoś jak to zrobić?

dodanie tagu wątku i znacznika <code class="java"> - Furious Programming

1

Musisz określić do ilu miejsc po przecinku ma skrócić, a następnie to zaokrągli powinno być wszystko ok.

0

a jak wygląda funkcja określająca do ilu miejsc po przecinku ma skrócić?

1
System.out.printf("%6.2f",x)

x- wartość którą chcesz wydrukować
2f- ile licz ma być po przecinku
8 - szerokość 8 znaków

Czyli ma pierwsze zaokrąglić a później tak sformatować i dostaniesz pożądany efekt.

dodanie znacznika <code class="java"> - Furious Programming

0

Ale potem tą liczbę formatuje jeszcze do liczby w formacie UK, więc muszę ją zapisać i sformatować, a nie wyświetlić

1
BigDecimal bg = new BigDecimal(twojWartoscDouble);
bg = bg.setScale(2, RoundingMode.CEILING);
double noweDouble = bg.doubleValue();

cos w tym stylu chyba powinno zadzialac, RoundingMode ma pare opcji zaokraglania

dodanie znacznika <code class="java"> - Furious Programming

1
String.format("%8.2f",x);

zwraca String ze sformatowaną liczbą.
Ewentualnie

String.format(new Locale("en"),"%8.2f",x);
0

A co jeśli w zależności od obiektu mam inną liczbę miejsc po przecinku?

0

A jest jakaś zależność między wartością liczby a ilością cyfr po separatorze dziesiętnym?

0

Nie, nie ma

0

To może losuj sobie ilość cyfr po przecinku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1