java – 格式化一个double而不是四舍五入

前端之家收集整理的这篇文章主要介绍了java – 格式化一个double而不是四舍五入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要格式化(而不是舍弃)一个双倍到2个小数位.

我试过:

String s1 = "10.126";
Double f1 = Double.parseDouble(s1);
DecimalFormat df = new DecimalFormat(".00");
System.out.println("f1"+df.format(f1));

结果:

10.13

但是我需要输出为10.12

解决方法

调用 setRoundingMode适当设置 RoundingMode
String s1 = "10.126";
Double f1 = Double.parseDouble(s1);
DecimalFormat df = new DecimalFormat(".00");
df.setRoundingMode(RoundingMode.DOWN); // Note this extra step
System.out.println(df.format(f1));

产量

10.12

猜你在找的Java相关文章