如果我除以1.0f / 2.0f,则该值为0.5。
我希望精度值为5(0.50000)。使用BigDecimal将比例设置为5但仍然将值打印为0.5
BigDecimal val = new BigDecimal(1.0f / 2.0f);
BigDecimal tt = val.setScale(5); 的System.out.println(tt.doubleValue);
如何设置比例并使其为0.50000。我的意思是如果精度值小于刻度
,则填充额外为零在这种情况下,例如1/2总是0.5(精度为1),如果我想要更高的精度(比如5),我该如何实现它
请告知
答案 0 :(得分:1)
只需打印BigDecimal
即可 BigDecimal val = new BigDecimal(1.0f/2.0f);
BigDecimal tt = val.setScale(5);
System.out.println(tt);
或者如果你想使用双,那么你可以使用
System.out.printf("%.5f%n", tt.doubleValue());
答案 1 :(得分:0)
使用DecimalFormat
:
BigDecimal a = new BigDecimal(1/2.0);
BigDecimal value = a.setScale(5, BigDecimal.ROUND_HALF_EVEN);
System.out.println(value);
输出结果为:
0.50000