我有这个程序:
BigDecimal a = new BigDecimal("0.21556788990002");
System.out.println(a.setScale(2));
Run Code Online (Sandbox Code Playgroud)
我有结果0.21,但当我想提取0.2我尝试
for(int i = 1; i <10; i ++)System.out.println(a.setScale(i));
当i = 1时,我有这个错误:
at java.math.BigDecimal.divideAndRound(BigDecimal.java:1439)at java.math.BigDecimal.setScale(BigDecimal.java:2390)at java.math.BigDecimal.setScale(BigDecimal.java:2437)at NewClass.main( NewClass.java:30)
用i = 1提取我能做什么?
小智 6
您需要使用舍入模式进行缩放,对于您的情况,它将使用以下内容:
System.out.println(a.setScale(1, RoundingMode.FLOOR));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
194 次 |
| 最近记录: |