2010-06-04 2 views

ответ

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); 
}; 
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) 
 
\t input.value=input.value.substr(0,(input.value.indexOf('.')+3)); 
 

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

Смежные вопросы