这个计算器能做什么
数字取整计算器可将任意正数或负数舍入到你指定的数位——从小数点左侧的十亿位,一直到右侧的十亿分位——并提供九种舍入方法供你选择。绝大多数舍入规则在处理普通数值时结果都一致,唯独遇到正好处于中间的"临界值"时(即末位是 5、且后面没有其他有效数字)才会出现分歧;此时具体怎么进位,就取决于你选用的方法。
使用方法
先选择一种舍入方法,再输入需要舍入的数值(负数可在前面加减号),最后选定舍入到哪一位。计算器会给出舍入后的结果,并用通俗的说明告诉你舍入到了哪一数位、套用了哪条规则。
计算公式详解
设 \(p\) 为保留的小数位数(取整数位时为负数)。计算器先将数值乘以系数 \(f = 10^{p}\),把待舍入的那一位移到个位上。缩放后的数值 \(s = \text{数值} \times f\),再按所选方法舍入为整数 \(n\),最后答案即 \(n \div f\)。
$$\text{Result} = \frac{\operatorname{round}\!\left(\text{Value} \times 10^{\,p}\right)}{10^{\,p}}$$由于二进制浮点存储会丢失真正的临界值(例如 1.15 实际存成略小于 1.15 的数),计算器会先把缩放值四舍五入到小数点后九位,再判断它是否为临界值。
实例演示
数值 1.15,方法选"四舍五入(Round Half Up)",舍入到十分位(\(p = 1\))。\(f = 10\),于是 \(s = 11.5\)——这正是一个临界值。四舍五入会把临界值朝正无穷方向进位,即 \(\lceil 11.5 \rceil = 12\),再
$$12 \div 10 = \mathbf{1.2}$$常见问题
什么是银行家舍入?"五舍偶入(Round Half Even)"会把临界值舍入到最接近的偶数,所以 2.5 变成 2,3.5 变成 4。把临界值均匀地分向两侧,可以减少长串数字累加时产生的系统性偏差。
"舍入到"设为负数位是怎么回事?负数位表示舍入到小数点左侧:千位(\(p = -3\))会贴近最接近的 1000,于是 12,345 变成 12,000。
为什么"随机舍入(Round Half Random)"每次结果都不同?这种方法在每次遇到临界值时都掷一枚 50/50 的硬币来决定进退,因此它天生就是不确定的,每次计算都可能给出不一样的结果。