三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

BigDecimal multiply 两个 3.3*3.333 结果保留几位小数

BigDecimal multiply 两个 3.3*3.333 结果保留几位小数

针对 BigDecimal.multiply 运算,结果的小数位数(scale)由两个操作数的小数位数之和决定。我们具体分析一下 3.3 * 3.333 这个例子。


📐 精确结果与 Scale 规则

3.3 的小数位数是 1 位(scale=1),3.333 的小数位数是 3 位(scale=3)。因此,两个数相乘后,结果的小数位数是 1 + 3 = 4 位。

java

import java.math.BigDecimal; public class Test { public static void main(String[] args) { BigDecimal a = new BigDecimal("3.3"); BigDecimal b = new BigDecimal("3.333"); BigDecimal result = a.multiply(b); System.out.println("原始结果: " + result); // 输出 10.9989 System.out.println("小数位数: " + result.scale()); // 输出 4 } }

执行结果:

text

原始结果: 10.9989 小数位数: 4

可以看到,结果 10.9989 正是保留了 4 位小数。


⚙️ 如何控制最终小数位数?

在实际业务中,你往往需要将结果保留为固定的小数位数(如 2 位),这就需要配合 setScale 方法来处理。

java</

← 返回列表