批量数字取整工具介绍
本工具对多行数字批量执行取整或保留固定位数,提供五种规则,适用于报表统一保留位数、价格抹零或进一法计费、金融统计口径合规处理等场景。
五种取整规则的区别
以 2.5 与 -2.5 取整到个位为例,五种规则结果如下:
其中银行家舍入即「四舍六入五成双」:尾数恰好为 5 时靠向最近的偶数,因此 2.5 靠向 2、3.5 靠向 4,可减少大量数据累计偏差,常用于金融与统计口径。
| 规则 | 2.5 的结果 | -2.5 的结果 | 说明 |
|---|---|---|---|
| 四舍五入 | 3 | -3 | 尾数达到 5 即进位(远离零方向) |
| 向上取整 ceil | 3 | -2 | 恒向数值增大方向 |
| 向下取整 floor | 2 | -3 | 恒向数值减小方向 |
| 截断 truncate | 2 | -2 | 直接丢弃小数位,不进位 |
| 银行家舍入 | 2 | -2 | 四舍六入五成双,2.5 靠向最近的偶数 |
为什么不建议直接用 toFixed
JavaScript 的 toFixed 受二进制浮点表示影响,存在著名的精度问题,例如 2.675.toFixed(2) 可能得到 2.67 而非预期的 2.68。本工具采用字符串级十进制算法实现五种规则,从根本上规避浮点漂移,结果可预期。
超过 1e15 的超大整数已超出双精度浮点可精确表示的范围,对应结果会给出「超大数精度提示」,建议超大金额改用分等整数口径处理。
保留口径与位数档位
| 位数 | 含义 | 1234 的示例(四舍五入) |
|---|---|---|
| -3 | 取整到千位 | 1000 |
| -1 | 取整到十位 | 1230 |
| 0 | 取整到个位 | 1234 |
| 2 | 保留两位小数 | 1234.00 |
- 保留口径可在「按小数位/位值」与「按有效数字」之间切换,有效范围 -9 到 +6 位。
- 支持千分位分组输出、剥离并回填「元、%」等单位后缀。
- 勾选每行单独位数后按「数值,位数」录入,一行一个规则;还可显示取整后与原值的精确差额。
- 结果可按录入顺序、升序或降序排列并去重,支持 CSV 导出。
数字取整与抹零的适用场景
- 报表数据统一保留位数,满足报送格式要求。
- 价格抹零或按进一法计费(ceil)、满减舍分(floor)。
- 银行家舍入合规统计与金融口径批量处理。