作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我在我的项目中使用 double 值,我希望始终显示前两位十进制数字,即使它们是零。我使用此函数进行舍入,如果我打印的值为 3.47233322,它(正确)打印 3.47。但是,例如,当我打印值 2 时,它会打印 2.0。
public static double round(double d) {
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
return bd.doubleValue();
}
我要打印 2.00!
有没有办法在不使用字符串的情况下做到这一点?
编辑:根据您的回答(我感谢您),我知道我不清楚我在搜索什么(对此我很抱歉):我知道如何在使用的数字后打印两位数您提出的解决方案...我想要的是直接将两位数存储在 double 值中!因此,当我执行类似 System.out.println(""+ d)
(其中 d 是我的值为 2 的 double )之类的操作时,它会打印 2.00。
我开始认为没有办法做到这一点......对吗?再次感谢您的回答,如果您知道解决方案,请告诉我!
最佳答案
你可以这样使用:
double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.00");
System.out.print(df.format(d));
编辑以实际回答问题,因为我需要真正的答案,这出现在谷歌上,有人将其标记为答案,尽管当小数为 0 时这不起作用。
关于Java:double:如何始终显示两位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17060285/
我是一名优秀的程序员,十分优秀!