我想检查一个数字是否有2位小数精度。我知道如何将数字转换为小数点后2位的精度,如下所示:
var myNumber = 2.456;
var currentNumber = parseFloat(myNumber);
currentNumber = currentNumber.toFixed(2);
console.log(currentNumber);
所以如果我输入:
- 1这将变成1.00
- 2.457这将变成2.46
但是我如何检查我的代码的结果是否有2位小数精度?提前感谢!
将数字解析为字符串,用句号分割,并检查第二项的长度是否为2:
function isPrecise(num){
return String(num).split(".")[1]?.length == 2;
}
console.log(isPrecise(1.23))
console.log(isPrecise(1.2))
console.log(isPrecise(1))
console.log(isPrecise("1.23")) //works if its a string too
你也可以使用正则表达式:
function isPrecise(num){
return /d+.d{2}/gm.test(String(num));
}
console.log(isPrecise(1.23))
console.log(isPrecise(1.2))
console.log(isPrecise("1.23")) //works if its a string too