1. ホーム
  2. java

[解決済み] Javaで数値をフォーマットするには?

2022-03-11 22:02:50

質問

Javaで数値をフォーマットするには?
ベストプラクティスとは何ですか?

数値は丸めないといけないのでしょうか?

32.302342342342343 => 32.30

.7323 => 0.73

などです。

解決方法は?

から このスレッド というように、さまざまな方法があります。

double r = 5.1234;
System.out.println(r); // r is 5.1234

int decimalPlaces = 2;
BigDecimal bd = new BigDecimal(r);

// setScale is immutable
bd = bd.setScale(decimalPlaces, BigDecimal.ROUND_HALF_UP);
r = bd.doubleValue();

System.out.println(r); // r is 5.12


f = (float) (Math.round(n*100.0f)/100.0f);


DecimalFormat df2 = new DecimalFormat( "#,###,###,##0.00" );
double dd = 100.2397;
double dd2dec = new Double(df2.format(dd)).doubleValue();

// The value of dd2dec will be 100.24

DecimalFormat() は最もダイナミックな方法だと思いますし、他の人のコードを読むときにも非常に理解しやすいです。