javascript - 评估包含千位分隔符的数字

标签 javascript

我知道如果 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/

相关文章:

javascript - 如何在更改和页面加载时获取选项值?

javascript - 如何获取json文件的数组javascript?

javascript - 如何设置段落内动态内容的样式?

javascript - 使用 javascript 验证 Ajax 组合框

javascript - js - 检查字符串是否不包含给定的字符

javascript - 哈希分布,为什么 0 总是重权重?

javascript onclick()事件不适用于div容器内文本的chrome

javascript - showDiv 函数 js 的小错误

javascript - 如何在 bxSlider 中为图像添加叠加层

javascript - 基于angular js中的当前持续时间绘制Rzslider?