BigDecimal使用

创建BigDecimal

1
2
3
BigDecimal BigDecimal(double d); //不允许使用,精度不能保证
BigDecimal BigDecimal(String s); //常用,推荐使用
static BigDecimal valueOf(double d); //常用,推荐使用
1
2
3
4
5
6
7
8
BigDecimal bd1 = new BigDecimal(0.01);
BigDecimal bd2 = new BigDecimal("0.01");
System.out.println("bd1 = " + bd1);
System.out.println("bd2 = " + bd2);

结果:
bd1 = 0.01000000000000000020816681711721685132943093776702880859375
bd2 = 0.01

参考:https://stackoverflow.com/questions/7186204/bigdecimal-to-use-new-or-valueof