Sao*_*obi 5 java formatting bigdecimal
我有一个BigDecimal物体,myNumber长度未知.例如:12345678.
我一直想把这个数字除以100万,所以我这样做:
myNumber.divide(BigDecimal.valueOf(1000000))
Run Code Online (Sandbox Code Playgroud)
我明白了 12.345678.
我希望将其显示为字符串" 12.345678",而不会切断任何小数位.
所以我这样做
myNumber.divide(BigDecimal.valueOf(1000000)).toString()
Run Code Online (Sandbox Code Playgroud)
这适用于上面的例子.但是,如果myNumber是一个非常小或大的东西,例如:
0.00000001
Run Code Online (Sandbox Code Playgroud)
除以0.00000001一百万并转换为字符串后,它显示为科学记数法,这不是我想要的.我希望它始终以完整的十进制格式显示(在这种情况下0.00000000000001).
有任何想法吗?
您必须使用divide()包含舍入模式和比例的变体来执行除法,并将比例设置得足够大以包含所有小数位。
int s = myNumber.scale();
BigDecimal result = myNumber.divide(BigDecimal.valueOf(1000000), s+6, RoundingMode.UNNECESSARY);
Run Code Online (Sandbox Code Playgroud)
然后使用toPlainString()格式化。
| 归档时间: |
|
| 查看次数: |
8013 次 |
| 最近记录: |