如果值为200.3456,则应该将其格式化为200.34。 如果它是200,那么它应该是200.00。
当前回答
四舍五入通常不是一个人想要的。相反,应该使用String.format()以所需的格式表示它。
其他回答
double value= 200.3456;
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(value));
对于两个四舍五入数字。非常简单,你基本上是更新变量,而不是只是显示的目的,DecimalFormat。
x =数学。地板(x * 100) / 100;
四舍五入通常不是一个人想要的。相反,应该使用String.format()以所需的格式表示它。
我认为这样比较简单:
double time = 200.3456;
DecimalFormat df = new DecimalFormat("#.##");
time = Double.valueOf(df.format(time));
System.out.println(time); // 200.35
请注意,这实际上是为您进行舍入,而不仅仅是格式化。
例如,如果你真的想要相同的双精度,但以你想要的方式四舍五入,你可以使用BigDecimal
new BigDecimal(myValue).setScale(2, RoundingMode.HALF_UP).doubleValue();
推荐文章
- 如何允许所有网络连接类型HTTP和HTTPS在Android(9)馅饼?
- Intellij IDEA Java类在保存时不能自动编译
- 何时使用Mockito.verify()?
- 在maven中安装mvn到底做什么
- 不可变与不可修改的集合
- 如何在JSON中使用杰克逊更改字段名
- GSON -日期格式
- 如何从线程捕获异常
- 无法解析主机"<URL here>"没有与主机名关联的地址
- 如何在Java中打印二叉树图?
- String.format()在Java中格式化双重格式
- com.jcraft.jsch.JSchException: UnknownHostKey
- Java中的操作符重载
- 如何加速gwt编译器?
- 在Hibernate中重新连接分离对象的正确方法是什么?