2013-04-16 3 views
1

Я разработал код, в котором добавляются значения, а в конце вычитает наименьшее значение на основе элементов, которые вы выбираете в форме. Код по большей части отлично работает, но я столкнулся с проблемой, когда отображает общее количество. Когда мое значение 7.25, оно будет работать нормально, но если его целое число будет отображаться только 5. Я бы хотел, чтобы он отображал 5.00. Любой совет?Добавить десятичную точку - Javascript

<script language="JavaScript"> 

// All selected prices are stored on a array 
var prices = []; 

// A function to remove a item from an array 
function remove(array, item) { 
    for (var i = 0, len = array.length; i < len; i++) { 
     if (array[i] == item) { 
      array.splice(i, 1); 
      return true; 
     } 
    } 
    return false; 
} 

function calculateSectedDues(checkbox, amount) { 
    // We add or remove the price as necesary 

    if (checkbox.checked) { 
     prices.push(amount); 
    } else { 
     remove(prices, amount); 
    } 

    // We sum all the prices 
    var total = 0; 
    for (var i = 0, len = prices.length; i < len; i++) 
     total += prices[i]; 

    // We get the lower one 
    var min = Math.min.apply(Math, prices); 

    if(min == Infinity) { min = 0; } 

    // And substract it 
    total -= min; 

    // Please, don't access the DOM elements this way, use document.getElementById instead 
    document.grad_enroll_form.total.value = total; 

} 


</script> 
+1

возможно дубликат [JavaScript: форматирование числа ровно два десятичных знаков] (HTTP : //stackoverflow.com/questions/1726630/javascript-formatting-number-with-exactly-two-decimals) –

+0

Вы будете ed плагин jQuery для этого. Добавление десятичной точки ни в коем случае не является тривиальным и требует добавления большого количества библиотеки форматирования. – adeneo

+0

@Alfie_Fitz - это была шутка, вы попробовали ответ ниже? Это так просто! – adeneo

ответ

4

Вы можете использовать toFixed() метод JS в:

var min = 2; 
min.toFixed(2); // returns 2.00 
+0

Спасибо @ JakubMichálek – 2013-04-16 21:53:32

0
if(parseInt(total) == total){ 
    total += ".00"; 
} 

или короткое замыкание, если обозначение:

total = parseInt(total) == total ? total + ".00" : total 
Смежные вопросы