jQuery:如何为输入字段值设置固定小数

时间:2014-05-27 11:47:57

标签: javascript jquery regex numbers format

我有一个基本输入字段,其中要填写金额。 该字段的格式为文本,因为它还必须与较旧的浏览器版本一起使用。

有没有办法可以使用jQuery和/或Regex将固定小数(2)设置为该字段中的任何数字?

我尝试了以下内容,但这并没有改变任何事情:

<input type="text" class="span6" id="amount" maxlength="12" name="amount" />

$('#amount').on('blur', function() {
    var amount = $('#amount').val().replace(/^\s+|\s+$/g, '');
    if( ($('#amount').val() != '') && (!amount.match(/^\d+$/) ) {
        $('#amount').val( amount.toFixed(2) );
    }
});

我正在寻找的是一种向输入值添加两位小数的方法,如果没有,输入是一个数字。

示例:

  • 1000应该变成1000.00
  • 1000.99应该保留1000.99,因为已经有两位小数。

非常感谢你提供任何帮助,蒂姆。

1 个答案:

答案 0 :(得分:3)

我创造了一个小提琴,请检查Fiddle

在使用toFixed之前将amount转换为整数parseInt(amount)

修改

<强>代码

$('#amount').on('blur', function() {
var amount = $('#amount').val().replace(/^\s+|\s+$/g, '');
if( ($('#amount').val() != '') && (!amount.match(/^$/) )){
    $('#amount').val( parseInt(amount).toFixed(2));
}
 });