0%

BigDecimal精度

BigDecimal精度

BigDecimal精度

丢失精度:

1
new BigDecimal(12.10);

不丢失精度:

1
new BigDecimal("12.10");

错误使用:

double存储时已经丢失精度了。

image-20210115142405701

正确使用:

double转string

1
2
3
Double d = new Double(5.1);
String s = d.toString();
BigDecimal b = new BigDecimal(s);

保留1位小数,四舍五入

1
bigDecimal.setScale(1,BigDecimal.ROUND_HALF_UP)