【发布时间】:2017-02-09 04:40:34
【问题描述】:
我正在使用以下 JavaScript 函数为 keyup 事件的输入数字添加千位分隔符。
$("#inputId").on('keyup', function(evt){
if (evt.which != 110 && evt.which != 190){
var n = parseFloat($(this).val().replace(/\,/g,''),10);
$(this).val(n.toLocaleString());
}
});
大多数情况下,此函数都按预期工作,但唯一的问题是输入字段不接受小数点后的零(例如 10.01),但它接受数字像 10.25 。我无法弄清楚这种行为的原因。有什么想法吗?
谢谢。
【问题讨论】:
-
解析会删除
0,因为它没有任何值1.0=>1 -
parseFloat(x,10)是做什么的? MDN says it has only one argument -
parseFloat没有任何基数参数....所以添加第二个参数没有任何意义 -
出于好奇,千位分隔符到底是什么?
-
@FlyingGambit toLocaleString() 将添加千位分隔符(对我来说是“,”)。
标签: javascript jquery onkeyup