Java中Double与BigDecimal转换避坑【持续更新】

Java中Double与BigDecimal转换避坑【持续更新】

背景

在Java开发时,double 与 BigDecimal 类型进行转换,记录下来,方便备查。

精度丢失

在double与decimal转换中,若使用==BigDecimal(double)==方式,可能会出现丢失精度的问题。

// 转换BigDecimalamount=newBigDecimal(0.9F);

优化方案

可借助String转换

方案一、入参为String

// 转换BigDecimalamount=newBigDecimal("0.9");

方案二、String的toString

// 转换BigDecimalamount=BigDecimal.valueOf(0.9);