修剪到2位小数

时间:2011-06-29 18:16:53

标签: javascript

我有:

onclick="document.getElementById('field1').value = 
Math.round((parseFloat(document.getElementById('field2').value,2)*100))/100 + 
Math.round((parseFloat(document.getElementById('field3').value,2)*100))/100;"

大多数数字都可以达到2个小数点,这就是我需要的。

但是,有一个像

这样的例子
onclick="document.getElementById('field1').value = 
Math.round((parseFloat(document.getElementById('21.29').value,2)*100))/100 + 
Math.round((parseFloat(document.getElementById('54.70').value,2)*100))/100;"  

字段1正在返回75.99000000000001如何一致地修剪为75.99

5 个答案:

答案 0 :(得分:43)

var num = 5 / 6;

var display = num.toFixed(2)

num outputs: 0.8333333333333334

display outputs: "0.83"

答案 1 :(得分:6)

使用方法toFixed(2)将其固定在小数点后两位:

(Math.round((parseFloat(document.getElementById('21.29').value,2)*100))/100 + 
  Math.round((parseFloat(document.getElementById('54.70').value,2)*100))/100).toFixed(2);

答案 2 :(得分:4)

这个怎么样:

parseFloat(document.getElementById('21.29').toFixed(2));

toFixed方法应该很好地处理四舍五入。

答案 3 :(得分:0)

我遇到了类似的问题-我不想舍入该值,而是将其修整为2位小数

通过编写此函数并在需要的地方修整最多2位小数,我得到了完美的解决方案

function upto2Decimal(num) {
    if (num > 0)
      return Math.floor(num * 100) / 100;
    else
      return Math.ceil(num * 100) / 100;
  }

如果您致电

upto2Decimal(2.3699) or upto2Decimal(-2.3699)
// returns 2.36 or -2.36

使用浏览器的JS控制台检查此解决方案

答案 4 :(得分:0)

您可以使用:

The number generated is 1
The number generated is 4
The number generated is 20
The number generated is 19
The number generated is 10
5
function myFunction() 
{
      var num = "-54.987656";
    var roundedValue = roundMethod(num,5);   
    document.getElementById("demo").innerHTML = roundedValue;
}
function roundMethod(numberVal, roundLimit) // This method will not add any additional 0, if decimal places are less than the round limit
{
    var isDecimal = numberVal.indexOf(".") != -1;    
  if(isDecimal)
  {
      if(numberVal.split(".")[1].length > roundLimit)
      {
        return parseFloat(numberVal).toFixed(roundLimit).toString();    
      }else
      {
          return numberVal;
      }
  }else
  {
      return numberVal;
  } 
}