2013-12-10 4 views
1

Я сделал функцию JQuery для расчета суммы, включая налог. Когда я хочу установить сумму с помощью центов, мне нужно использовать точку. Это будет как 125,25 евро. Я хотел бы знать, как рассчитать сумму, включая налог, используя запятую.JQuery расчет суммы (с запятой)

вот мой код:

if($("#tax").val() == "verlegd") { var tax= 0; } 
    else 
    { 
     var tax= parseInt($("#tax").val()); 
    } 

    var taxCalc = parseInt(100+tax); 
    var amount= parseFloat($("#amount").val()); 

    var amountinc = Math.round(((amount* taxCalc)/100)*100)/100; 
    if(!isNaN(amount)) 
    { 
     $("#amountinc").val(amountinc); 
    } 
    else 
    { 
     $("#amountinc").val("unvalid number"); 
    } 
} 

$("#amount").keyup(function(){ updateTotalExc(); }); 
$("#tax").change(function(){ updateTotalExc(); }); 
+1

Я думаю, что проще всего сделать, это заменить все запятые в ввод с точками, а затем выполните расчет. Таким образом, пользователь может вводить запятые или точки, в зависимости от того, что подходит ей лучше всего. –

+0

Удалите запятые из суммы [т.е. - Eg - 10,00,000.45 до 1000000.45], затем выполните вычет. –

+0

Вы имеете в виду 'запятую как разделитель десятичной запятой' или' запятую в качестве разделителя тысяч'? – devnull69

ответ

0

Если я понял вопрос правильно, вы можете использовать replace изменить все запятые на точки в пределах стоимости #amount.

var amount = $("#amount").val().replace(',', '.'); 
+0

... и оберните его 'parseFloat()', чтобы получить номер – devnull69

+0

, что вы имеете в виду с его упаковкой с помощью parseFloat()? Эта функция работает, но когда я сохраняю обе суммы в моем db, первая с запятой будет сохранена как 13 вместо 13.50 – cwi93

0

Просто вы можете использовать JavaScript.

tax = tax.replace(",","."); 
3

Вы можете использовать регулярное выражение, чтобы удалить все запятые, прежде чем получить налоговую стоимость:

var tax= parseInt($("#tax").val().replace(/,/g,'')); 

Это изменит 10,000,000.25 к 10000000.25

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