如何在Java中格式化数字?

如何在Java中格式化数字?
什么是“最佳实践”?

在我格式化之前,我需要舍入一个数字吗?

32.302342342342343 => 32.30

.7323 => 0.73

等等

this thread,有不同的方法来做到这一点:

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()似乎是最动态的做法,它也很容易理解当阅读其他代码。

http://stackoverflow.com/questions/50532/how-do-i-format-a-number-in-java

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何在Java中格式化数字?