java - 如何在 Java 中格式化数字?

标签 java number-formatting

如何在 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()好像是最有活力的方式,看别人的代码也很容易理解。

关于java - 如何在 Java 中格式化数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50532/

相关文章:

java - 网络通信TCP【代码设计】

java - 寻找盆地的时间复杂度

java - (如何)我可以让 JAXB (MOXy) 接受非 setter/getter 进行编码?

excel - 使用 VBA 将单元格格式化为任意货币,无论区域设置如何

php - 在哪里格式化 CodeIgniter 中的数字?

java - 如何使用 OR 和汇总函数构建高级 Hibernate Query

JavaFX,外部类扩展 Pane ,将其添加到主类将不起作用

javascript - toLocaleString() 在 Safari 浏览器中不起作用

javascript - Ho使用jtable插件在mvc中的点后格式化小数字段2位

java - 如何根据输入长度更改 DecimalFormat 行为?