如果精度值小于刻度,则填充零
Pad zeros if precision value less than scale
如果我除以 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),我该如何实现
请指教
只需打印 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());
使用 DecimalFormat
:
BigDecimal a = new BigDecimal(1/2.0);
BigDecimal value = a.setScale(5, BigDecimal.ROUND_HALF_EVEN);
System.out.println(value);
输出为:
0.50000
如果我除以 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),我该如何实现
请指教
只需打印 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());
使用 DecimalFormat
:
BigDecimal a = new BigDecimal(1/2.0);
BigDecimal value = a.setScale(5, BigDecimal.ROUND_HALF_EVEN);
System.out.println(value);
输出为:
0.50000