使用toFixed(1)可实现四舍五入保留一位小数,但返回字符串类型,需结合parseFloat或number转为数字,如Number(3.146.toFixed(1))得3.1,封装函数更便捷。

在 javaScript 中实现四舍五入并保留一位小数,最常用的方法是使用 toFixed() 结合 parseFloat() 或 Number() 来处理数据类型问题。
使用 toFixed(1) 方法
toFixed(1) 可以将数字保留一位小数,并进行四舍五入。但注意它返回的是字符串类型。
示例:
let num = 3.146;
let result = num.toFixed(1); // “3.1”
console.log(result); // 输出字符串 “3.1”
如果你需要结果为数字类型,可以用 parseFloat 或 Number 转换:
let num = 3.146;
let result = parseFloat(num.toFixed(1)); // 3.1
console.log(result); // 输出数字 3.1
自动四舍五入的原理
javascript 的 toFixed() 是根据小数位数自动进行四舍五入的。
常见情况:
- 3.14 → toFixed(1) → “3.1”
- 3.15 → toFixed(1) → “3.2”
- 2.68 → toFixed(1) → “2.7”
- 5.04 → toFixed(1) → “5.0”
注意:虽然显示为 “5.0”,但这是保留一位小数的标准格式。
封装成一个函数更方便使用
可以写一个简单函数,输入数字,返回保留一位小数的数字类型:
function roundOneDecimal(value) {
return Number(value.toFixed(1));
}
console.log(roundOneDecimal(4.555)); // 4.6
console.log(roundOneDecimal(2.12)); // 2.1
基本上就这些。用 toFixed(1) 四舍五入再转回数字,是最稳妥的做法。