SORU
26 Mart 2013, Salı


*Her zaman* yuvarlama BigDecimal iki ondalık basamak

BigDecimal değerler, virgülden sonra iki hane toplamaya çalışıyorum.

Kullanıyorum

BigDecimal rounded = value.round(new MathContext(2, RoundingMode.CEILING));
logger.trace("rounded {} to {}", value, rounded);

ama sürekli ben ne istiyorum değil mi:

rounded 0.819 to 0.82
rounded 1.092 to 1.1
rounded 1.365 to 1.4 // should be 1.37
rounded 2.730 to 2.8 // should be 2.74
rounded 0.819 to 0.82

Anlamlı basamak umurumda değil, ben sadece iki ondalık istiyorum. Nasıl BigDecimal ile bu yapmalıyım? Ya da başka bir sınıf/kütüphane daha iyi, Bu daha uygundur?

CEVAP
26 Mart 2013, Salı


value = value.setScale(2, RoundingMode.CEILING)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Juan Carlos Candela Bordera

    Juan Carlos

    4 Mart 2009
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009