在javascript中只允许十进制后的两位数

时间:2010-06-04 08:57:33

标签: .net javascript

我有一个变量i = 28.57142857142857; 我想提醒(i);在用户屏幕上提醒此变量。但我想要小数后只有两位数。即 28.57

怎么做。

3 个答案:

答案 0 :(得分:4)

尝试使用toFixed:

 alert(i.toFixed(2));

如果您需要Jappie的下一个答案中提到的精度,您可以覆盖原生的toFixed方法,如下所示:

Number.prototype.toFixed = function (precision) {
 var power = Math.pow(10, precision || 0);
 return String(Math.round(this * power) / power);
};

答案 1 :(得分:2)

怎么样

alert(Math.round(i * 100) / 100);

toFixed存在问题。请参阅this post

答案 2 :(得分:0)

100%工作!!!!

<html>
     <head>
      <script>
      function replacePonto(){
        var input = document.getElementById('qtd');
        var ponto = input.value.split('.').length;
        var slash = input.value.split('-').length;
        if (ponto > 2)
                input.value=input.value.substr(0,(input.value.length)-1);

        if(slash > 2)
                input.value=input.value.substr(0,(input.value.length)-1);

        input.value=input.value.replace(/[^0-9.-]/,'');

        if (ponto ==2)
	input.value=input.value.substr(0,(input.value.indexOf('.')+3));

if(input.value == '.')
	input.value = "";
              }
      </script>
      </head>
      <body>
         <input type="text" id="qtd" maxlength="10" style="width:140px" onkeyup="return replacePonto()">
      </body>
    </html>