double + double会有精度问题(通过BigDecimal解决)
@double + double会有精度问题(通过BigDecimal解决)
code
package com.ityj.algorithm.year2024;import java.math.BigDecimal;public class DoubleTest {public static void main(String[] args) {double number1 = 1;double number2 = 20.2;double number3 = 300.03;double sum = number1 + number2 + number3;System.out.println("sum = " + sum);double additionDouble = additionDouble(additionDouble(number1, number2), number3);System.out.println("additionDouble = " + additionDouble);}public static double additionDouble(double m1, double m2) {BigDecimal p1 = new BigDecimal(Double.toString(m1));BigDecimal p2 = new BigDecimal(Double.toString(m2));return p1.add(p2).doubleValue();}}
result:
sum = 321.22999999999996
additionDouble = 321.23