2

是否可以说一个人在 a 中输入一个整数值 5Textbox并在最后自动添加一个 .00 说5.00

<asp:TextBox ID="txtAmountTransfer" runat="server" Width="55%" CssClass="right"></asp:TextBox>
4

2 回答 2

9

您可以使用.toFixed(2)which 将添加零

看到这个例子js Fiddle

于 2012-12-03T17:16:46.583 回答
6

@CR41G14 是正确的。.toFixed(2) 就是您所需要的。

至于在哪里以及如何,我建议在输入框上使用更改事件,因为它对用户的干扰最小。(模糊事件也不是不合理的)

由于文本字段的值将是一个字符串,因此您需要像@Snuffleupagus 指出的那样对其进行解析。在您的情况下,我建议使用 parseFloat,因为这样您的字段可能会处理输入 5.2 的用户,这可能会变成 5.20。(使用 parseInt 你最终会得到 5.00)。

另一个注意事项是认识到,如果用户在字段中键入非数字字符(或实际上任何不会解析的值),它将导致显示 NaN,这在您的情况下实际上似乎相当合理。

使用 jQuery:

$('#txtAmountTransfer').change(function(){
    $(this).val(parseFloat($(this).val()).toFixed(2))
});

使用本机代码的类似示例:

var textField = document.getElementById('txtAmountTransfer');
    textField.onchange = function(){
        this.value = parseFloat(this.value).toFixed(2);     
    }
于 2012-12-03T17:58:19.887 回答