我知道如果 parseFloat 函数遇到除数字字符(0-9+-. 和指数)以外的任何字符,它只会评估该字符之前的数字,并丢弃任何其他字符。
我遇到了一个问题,我需要能够像这样使用千位分隔符来验证数字:
var number = "10,000.01"; //passes
var numberWithoutThousand = "10000.01"; //fails
//i.e:
if(parseFloat(number) <= 10000) {
return true;
}
//passess
问题是当技术上该数字大于 10,000 时,上面的代码返回 true。
解决这个问题的最佳方法是什么?我考虑过在测试数字之前去掉逗号,但不确定这是一个好的策略。
最佳答案
你没有数字,你有字符串,所以只需要删除逗号
number = number.replace(/\,/g, '');
关于javascript - 评估包含千位分隔符的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22443664/