建议使用BigDecimal.valueOf
Noncompliant Code Example
double d = 1.1;
BigDecimal bd1 = new BigDecimal(d); // Noncompliant; see comment above
BigDecimal bd2 = new BigDecimal(1.1); // Noncompliant; same result
1.100000000000000088817841970012523233890533447265625
1.100000000000000088817841970012523233890533447265625
Compliant Solution
double d = 1.1;
BigDecimal bd1 = BigDecimal.valueOf(d);
BigDecimal bd2 = BigDecimal.valueOf(1.1);
1.1
1.1