经过一个小时的搜索,我要问这个问题。
我的任务是将数字限制为总共8个数字。 toPrecision可以按预期工作,除了:
一些测试用例:
toPrecision似乎没有达到预期的效果,即返回了我们想要的确切数字。它将小数点后的零与小数点后的零相加到位数总数中。
我的意图:
答案 0 :(得分:0)
您可以使用toPrecision()
功能。
例如:
console.log(Number(1).toPrecision(8));
这会给你"1.0000000"
答案 1 :(得分:0)
var num1 = 0.39019785;
var num2 = 0.0039019785;
const exactPrecision = (number, precision) => number.toPrecision(precision).replace(new RegExp("((\\d\\.*){"+precision+"}).*"), '$1');
console.log(exactPrecision(num1, 8))
console.log(exactPrecision(num2, 8))
希望有帮助!
toPrecision
在前导0时不执行您想要的操作,因此我创建了一个函数,该函数摆脱了以后不需要的内容。