🤔️为什么要用BigDecimal?
- 当然是因为使用Double计算,在某些对精度要求很高的场景下会出现问题💀
- 不信你看⤵️
@Test
void test12() {// 丢失精度double result = 0.2 + 0.1;System.out.println(result); // 输出结果为 0.30000000000000004// 某写结果表示异常double a1 = 0.1;System.out.println(a1); // 输出结果为 0.1a1 = a1 - 0.8 + 0.7; // 应该返回 0.0System.out.println(a1); // 实际输出结果为 5.551115123125783E-17// 溢出Double d1 = Math.pow(10, 1000);Double d2 = Double.MAX_VALUE + Double.MAX_VALUE;System.out.println(d1); // InfinitySystem.out.println(d2); // Infinity
}