这可能是一个非常容易解决的问题,但我现在想不出一个优雅的解决方案。
鉴于以下数字,我如何找到每个数字的精度(.0001)。
126.01
1.3450
更新: 小数点后的位数。
前两位数字的输出为。
.01
.0001
答案 0 :(得分:4)
你做不到。所有Number
都具有标准的JavaScript精度。
如果您有"126.01"
和"1.3450"
(即String
s),那么您可以执行以下操作:
console.log("The precision of " + str_number + " is " + str_number.split('.')[1].length + " decimal places");
如果您想要有效数字,请使用0
。
答案 1 :(得分:0)
也许尝试构建一个简单的函数,如:
function acc(num) {
var splt = num.toString().replace(/\.|$/, '.').split('.');
return splt[1].length
? 1 / Math.pow(10, splt[1].length)
: Math.pow(10, /0*$/.exec(splt[0])[0].length);
}