JS 小数计算精度问题
// 此函数用来解决小数计算问题
Number.prototype.toFixedN = function(digits = 0) {
return Math.round(this * (10 ** digits)) / (10 ** digits)
}
const max = 999
for(let i = 1; i <= max; i++) {
const decimal = (i / 100).toFixedN(2) // 保证 decimal 没有精度问题
// const result = (decimal * 100).toString() // 测试 JS 形如 x.xx 或 x.x 的小数 乘以 100 永远能得到正确的 结果吗?; 答案: 会有部分结果出现 ❌
const result = (decimal * 100).toFixedN().toString() // 打开此行:结果均没问题
console.log(`${decimal.toString()} x 100 = ${result} ${result.length > 3 ? '❌' : ''}`)
}

浙公网安备 33010602011771号