asked on October 14, 2015
•
Show version history
After setting up a javascript calculation with 2 fields with decimals, I get a total with a long number after the decimal place. I am looking to shorten it to 2 numbers after the decimal place. Upon trying to add .tofixed(2) ended up breaking the calculation. Any suggestion is appreciated, thanks.
$(document).ready(function () {
$('.cf-table-block').on('blur', 'input', sumtotal);
function sumtotal() {
$('.total input').attr('readonly', false);
var hours = 0;
var rate = 0;
var Mat = 0;
var ODC = 0;
var LC = 0;
var AO = 0;
var SGA = 0;
var Profit = 0;
var total = 0;
var subtotal = 0;
$('.cf-table-block tbody tr').each(function () {
hour = parseNumber($(this).find('.hours input').val());
rate = parseNumber($(this).find('.rate input').val());
Mat = parseNumber($(this).find('.Mat input').val());
ODC = parseNumber($(this).find('.ODC input').val());
LC = parseNumber($(this).find('.LC input').val());
AO = parseNumber($(this).find('.AO input').val());
SGA = parseNumber($(this).find('.SGA input').val());
Profit = parseNumber($(this).find('.Profit input').val());
subtotal = (hour * rate)+Mat+ODC+LC+AO+SGA+Profit;
$(this).find('.total input').val(subtotal);
total += subtotal;
});
//$('.Grandtotal input').val(total);
}
function parseNumber(n) {
var f = parseFloat(n); //Convert to float number.
return isNaN(f) ? 0 : f; //treat invalid input as 0;
}
});
0
0