2015-08-24 2 views
-1

У меня ситуация здесь в JavaScriptДобавить нуль только тогда, когда пусто точность в JavaScript

**Value**  **Expected** **toFixed(2)** 
var a = 0.0273 | 0.0273  | 0.03(X) 
var b = 0.8 | 0.80  | 0.80 
var b = 53.7 | 53.70  | 53.70 

Когда четыре цифры приходят после десятичной точки, оставить как есть, но если одна цифра приходит, ноль должен прилагается.

toFixed() метод не очень помог.

+0

это ваш ответ HTTP : //stackoverflow.com/a/15266797/1570534 –

+1

вы можете разделить число на точку: 'var array = a.toString(). split (". ")', а затем вы можете найти, если вы ed 'toFixed()' или нет: 'if (array [1] .length <2) { a.toFixed (2); } // no else required' –

ответ

0

Сначала вы проверить количество десятичных знаков с:

var countDecimals = function (value) { 
    if ((value % 1) != 0) 
     return value.toString().split(".")[1].length; 
    return 0; 
}; 

https://stackoverflow.com/a/17369384/1870760

Затем проверить, если это 4 или нет, и разобрать его с toFixed:

var a = 0.0273; 

    var countDecimals = function (value) { 
     if ((value % 1) != 0) 
      return value.toString().split(".")[1].length; 
     return 0; 
    }; 

if(countDecimals(a) < 4) 
    a = (Math.round(a * 100)/100).toFixed(2); 

alert(a) 
+0

благодарит за ответ. Разве у нас нет другого варианта без помощи определенных пользователем методов? – gauti

+0

Для подсчета десятичных знаков, нет. –

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