Jak poprawnie wyświetlić cenę do dwóch miejsc po przecinku (centów), w tym zera końcowe w Javie?
Istnieje dobre pytanie dotyczące zaokrąglania miejsc dziesiętnych w Javietutaj. Ale zastanawiałem się, jak mogę dołączyć końcowe zera do wyświetlania cen w moim programie, takich jak: 1,50 $, 1,00 $
Proste rozwiązanie
String.format("%.2g%n", 0.912385);
działa dobrze, ale pomija końcowe zero, jeśli jest na ostatnim miejscu dziesiętnym. Problem pojawia się w moim programie, chociaż używam tylko takich wyrażeń:
double price = 1.50;
Kiedy wykonuję obliczenia z różnymi cenami (dodawanie, mnożenie itp.), Wynik jest przede wszystkim wyświetlany w następujący sposób:
$2.5000000000000003
Tak więc użycie String.format działa dobrze do tego celu, ale obcina powyższy przykład do
$2.5
Czy jest odpowiedni sposób, aby pokazać końcowe zero na drugim miejscu po przecinku? Albo oba zera, jeśli wynik obliczenia powinien być
$2.00