我在我的项目中使用双精度浮点数,并且希望始终显示前两位小数,即使它们是零。我使用此函数进行舍入,如果我打印的值为3.47233322,则会(正确地)打印3.47。但是当我打印例如值2时,它会打印2.0。
我在项目中使用双精度浮点数,在打印时需要显示前两个小数位,即使它们为零。我使用这个函数进行四舍五入,如果我要打印的值是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!
有没有不使用字符串的方法可以做到这一点?
编辑:从您的答案中(感谢您),我了解到我没有清楚地告诉您我正在寻找什么(对此我很抱歉):我知道如何在数字后打印两个数字,使用您提供的解决方案... 我想直接在双精度值中存储这两个数字!因此,当我执行像这样的操作 System.out.println("" + d)
(其中d是我带有值2的double),它会打印2.00。
我开始觉得没有办法做到这一点... 是吗?无论如何,再次感谢您的回答,请让我知道是否有解决方案!