【发布时间】:2018-11-16 06:17:21
【问题描述】:
我未能将输入值转换为货币格式。我想在用户输入数字时自动添加千位和小数点分隔符 (5,000.00; 125,000.00)。
这是我的代码:
$('input.CurrencyInput').on('blur, focus, keyup',
function() {
$(this).val().toLocaleString('en-US', {
style: 'decimal',
maximumFractionDigits: 2,
minimumFractionDigits: 2
});
});
【问题讨论】:
-
.val()返回一个string,但.toLocaleString是一个number的方法。 -
另外,您没有在任何地方设置值。您正在获取当前值并尝试对其进行操作,但没有对结果做任何事情。
-
您不能使用 oninput 或 keyup 因为您不知道他们打算输入什么。我是否可以输入 1,123,123.123 并将其格式化为 1,123,123.12 或输入 1123123.123(这是一个有效的浮点数)并在我输入时将其格式化为 1,123,123.12?
-
您可能想看看一些外部库/插件。我过去使用过this one,效果很好。 (点击demo按钮——那里有货币输入)
标签: javascript jquery string number-formatting currency-formatting