如何将数字四舍五入到多个小数位。Javascript
我正在尝试创建一个函数,它可以接受一个数字和小数位数,并将数字四舍五入到将要给出的精确小数位数。 我正在使用如何将数字四舍五入到多个小数位。Javascript,javascript,Javascript,我正在尝试创建一个函数,它可以接受一个数字和小数位数,并将数字四舍五入到将要给出的精确小数位数。 我正在使用parseInt(prompt())来给出数字和小数位数 比如说, round(3.141519, 2) -> 3.14 round(5986.32456, 4) -> 5986.3246 有人能帮我吗?你可以用toFixed 检查以下各项 console.log(3.141519.toFixed(2)) console.log(5986.32456.toFixed(4))
parseInt(prompt())
来给出数字和小数位数
比如说,
round(3.141519, 2) -> 3.14
round(5986.32456, 4) -> 5986.3246
有人能帮我吗?你可以用toFixed
检查以下各项
console.log(3.141519.toFixed(2))
console.log(5986.32456.toFixed(4))
这里有一个短函数,允许您指定精度并返回一个数字:
function round(number, places) {
number = parseFloat(number, 10);
var e = parseInt(places || 2, 10);
var m = Math.pow(10, e);
return Math.floor(number * m) / m;
}
或略短的ES6功能:
const round = (number, places=2) => {
const m = Math.pow(10, places);
return Math.floor(number * m) / m;
}
谷歌:你不能用Math.round吗?注释可能重复的可能重复,
toFixed
返回一个字符串。我使用了第一个解决方案,当我运行函数时,它会给我NaN。它不应该打印出包含我想要的小数位数的四舍五入数字吗?@Leo你不是在传递数字吗round(3.1456,3)
对我有效…我更新了我的第一个解决方案,使用parseFloat
和parseInt
,以防您通过它。我想我的解决方案有问题。。我不知道是什么。