4
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Round to 2 Decimal Places</title>
    <script type="text/javascript"
    src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js">
    </script>
    <script type="text/javascript">
        $(function() {
            $('input#txtNum').blur(function() {
                var amt = parseFloat(this.value);
                //$(this).val('$' + amt.toFixed(2));
                $(this).val((Math.round(amt*100))/100).toFixed(2);
            });

        });
    </script>
</head>
<body>
    Type a decimal number in the TextBox and hit Tab
    <br />
    <input id="txtNum" type="text" />
</body>
</html>

当我输入值为 100.2569 时。结果显示 100.26,但是当我输入 56.999 时,它显示 57 而不是 57.00,或者如果我给出不带小数的值,它的显示不带小数,而小数点后没有两个附加两个零。

4

4 回答 4

6

toFixed打错地方了:

$(this).val( (Math.round(amt*100)/100).toFixed(2) );
于 2013-01-07T05:36:08.237 回答
3

它比你想象的要简单:

amt.toFixed(2)
于 2017-03-11T04:15:42.683 回答
2

这可以使用 Javascript 来完成,如下所示:

this.value = (Math.round(amt*100)/100).toFixed(2);

如果是单个文本输入:

document.getElementById("txtNum").value = (Math.round(amt*100)/100).toFixed(2);
于 2013-01-07T10:52:19.670 回答
0

下面的示例代码也有效。

ProperRoundCircle = function(num, decimal){ 
 return Math.round(parseFloat(Number) * Math.pow(10, decimal)) / Math.pow(10, decimal);
}
于 2014-04-08T00:22:33.240 回答