JavaScript四舍五入保留两位小数问题记录
拿来即用
(Math.round((num + Number.EPSILON) * 100) / 100).toFixed(2) // num 为需要保留的初始小数
范围测试
经测试适用于但不限于0.0001 到 500.9999
测试验证代码如下
main();
function main() {
// 测试0.0001 ~ 500.9999 上限可自行变更
for (let i = 0; i < 500; i++) {
test(i);
}
}
/**
* 测试
* @params {Number} unit 个位
*/
function test(unit) {
// 10 的 4 次方 从0.0001开始
let powBase = Math.pow(10
JavaScript四舍五入修复:银行家舍入与精度补偿

记录JavaScript在四舍五入保留两位小数时遇到的问题,涉及银行家舍入法(四舍六入五取偶)的原理与误差。文章提供了一种紧急避险方案,通过乘100再round()实现四舍五入,并揭示了该方法在特定范围内可能存在的精度误差,提出浮点数补偿方法以确保正确性。
最低0.47元/天 解锁文章
285

被折叠的 条评论
为什么被折叠?



