JavaScript 中 toFixed() 的舍入规则

2022-11-16 17:30:30
toFixed的舍入规则并不是“四舍五入”,而是“四舍六入五成双”,也即“4舍6入5凑偶”。 * “四”是指 `≤4` 时舍去 * "六" 是指 `≥6` 时进上 * "五" 指的是根据 5 `后面`的数字来定 当5后有有效数字(不为0)时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是偶数) 下面看一些例子: ``` const a1 = 0.046; // 第3位小数为6 const a2 = 0.044; // 第3位小数为4 const a3 = 0.0451 // 第3位小数为5, 5后为 1-有效数字 const a4 = 0.0450; // 第3位小数为5, 5后为 0-无效数字,5前为偶数 const a5 = 0.04503; //第3位小数为5, 5后为 03-有效数字 const a6 = 0.045; // 第3位小数为5, 5后无有效数字,5前为偶数 const a7 = 0.035; // 第3位小数为5, 5后无有效数字,5前为奇数 console.log(a1.toFixed(2)); // 0.05 console.log(a2.toFixed(2)); // 0.04 console.log(a3.toFixed(2)); // 0.05 console.log(a4.toFixed(2)); // 0.04 console.log(a5.toFixed(2)); // 0.05 console.log(a6.toFixed(2)); // 0.04 console.log(a7.toFixed(2)); // 0.04 ```