How do I round a number in JavaScript?

后端 未结 8 2183
余生分开走
余生分开走 2020-11-27 03:20

While working on a project, I came across a JS-script created by a former employee that basically creates a report in the form of

Name : Value
Name2 : Value2         


        
8条回答
  •  一个人的身影
    2020-11-27 04:02

    A very good approximation for rounding:

    function Rounding (number, precision){
    
    var newNumber;
    var sNumber = number.toString();
    
    var increase = precision + sNumber.length - sNumber.indexOf('.') + 1;
    
    if (number < 0)
      newNumber = (number -  5 * Math.pow(10,-increase));
    else
      newNumber = (number +  5 * Math.pow(10,-increase));
    
    var multiple = Math.pow(10,precision);
    
    return Math.round(newNumber * multiple)/multiple;
    }
    

    Only in some cases when the length of the decimal part of the number is very long will it be incorrect.

提交回复
热议问题