Как преобразовать число 30.006649999999994 в 30.01 в js? - PullRequest
0 голосов
/ 15 октября 2010

Кто-нибудь знает такую ​​функцию в javascript?

Ответы [ 5 ]

5 голосов
/ 15 октября 2010

Просто выберите желаемую точность и используйте умножение / деление вместе с функцией round.

В вашем случае, если вы хотите округлить до второго десятичного знака, вы можете сделать

Math.round(value*100)/100
5 голосов
/ 15 октября 2010
num = 30.006649999999994;
result = num.toFixed(2); // result will equal 30.01

Вот пример этого кода в JSBin

2 голосов
/ 15 октября 2010

Я всегда использую свою собственную функцию округления для этого.

function round(value, precision){                   
    if(precision){                                               
        var exponent = Math.pow(10, precision);                  
        return Math.round(value * exponent)/exponent;           
    }else{                                                       
        return Math.round(value);                               
    }                                                            
}                                                                

Вы можете назвать это так:

round(30.006649999999994, 2);
0 голосов
/ 15 октября 2010

Оценил ответ от p.campbell, похоже, я пока не могу комментировать чей-то ответ.

Но все, что вам нужно для этого числа, это добавить parseFloat ();

число = 30,006649999999994; результат = parseFloat (num.toFixed (2)); // результат будет равен 30.01

0 голосов
/ 15 октября 2010
num = 30.006649999999994;
num2 = num.toFixed(2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...