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);