Javascript toFixed()函数

SLM*_*SLM 13 javascript jquery

我正在尝试使用以下技术格式化用户输入值,但我在Fire Bug控制台上收到以下错误

$(this).val().toFixed不是函数

$(".amount-text").bind('change',function () { 
     $(this).val(($(this).val()).toFixed(2));
}); 
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?

Nic*_*ver 29

.val()返回一个字符串,用于.toFixed()您需要先将其解析为数字的数字,如下所示:

$(".amount-text").bind('change',function () { 
     $(this).val(parseFloat($(this).val()).toFixed(2));
});
Run Code Online (Sandbox Code Playgroud)

或者使用jQuery 1.4+,有点清洁,至少对我来说使用一个函数.val():

$(".amount-text").bind('change',function () { 
     $(this).val(function(i, v) { return parseFloat(v).toFixed(2); });
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里尝试一下.


djd*_*d87 6

toFixed 仅适用于数字,首先将值解析为数字:

 $(this).val(parseFloat($(this).val()).toFixed(2));
Run Code Online (Sandbox Code Playgroud)