代码一: BigDecimal b = new BigDecimal("12.355").setScale(2,BigDecimal.ROUND_UP);
System.out.println(b.floatValue());代码二: BigDecimal b = new BigDecimal("12.355");
b.setScale(2,BigDecimal.ROUND_UP);
System.out.println(b.floatValue());
代码都一样、只是分开来写了、请问结果是一样吗?为什么、
System.out.println(b.floatValue());代码二: BigDecimal b = new BigDecimal("12.355");
b.setScale(2,BigDecimal.ROUND_UP);
System.out.println(b.floatValue());
代码都一样、只是分开来写了、请问结果是一样吗?为什么、
Immutable, arbitrary-precision signed decimal numbers.相信你已经当场恍然大悟了,哈哈~~~
是因为 volatile transient 修饰的关系吧?E语是我心中永远的痛看来以后要多背单词了、
我觉得可能你想错方向了,你修改下代码,只需要增加2个字符即可:BigDecimal b = new BigDecimal("12.355");
b = b.setScale(2,BigDecimal.ROUND_UP); // 就是增加 b=
System.out.println(b.floatValue());
然后再结合下 String 的特点考虑下。