2017-02-05 12 views
0

Как я могу форматировать числа какJavascript формат десятичного числа цифр после десятичных дерева

0.00012006 to 0.00012 
0.00004494 to 0.0000449 
0.000000022732 to 0.0000000227 without becoming a number like 2.3e-8 

Я хотел бы знать, как я могу изменить номера, как, что в быстром/эффективном способе.
Я хотел бы знать, как преобразовать эти числа, но если кто-то знает, как отформатировать его только так, я тоже хотел бы это знать.

+0

как это номера '0.100101',' 0.1100001', '1.000001' должны быть преобразованы? – RomanPerekhrest

ответ

0

Вы купите места для номера и добавьте 2 на него для toFixed.

function three(v) { 
 
    var n = Math.floor(Math.log(v)/Math.LN10); 
 
    return v.toFixed(n < 2 ? 2 - n : 0); 
 
} 
 

 
var n = [0.00012006, 0.00004494, 0.000000022732, 0.100101, 0.1100001, 1.000001, 12000, 10, 1e10]; 
 

 
console.log(n.map(three));

0

Использование yourNumber.toFixed(numberOfDigitsAfterDot) так:

function format(n) { 
 
    var _n = n; 
 
    // count the position of the first decimal 
 
    var count = 0; 
 
    do { 
 
    n = n * 10; 
 
    count++; 
 
    } while(n < 1); 
 
    return _n.toFixed(count + 2); 
 
} 
 

 

 
var num = 0.000000022732; 
 

 
console.log(format(num));