Простой математический выпуск javascript

У меня есть простая математическая задача в javascript, которую я не могу решить.

var prodajna_avg = parseFloat(vpc - (vpc * (rab_avg / 100))).toFixed(2);
var nabavna = parseFloat(<?php echo "$nabavna_cijena"; ?>);
document.getElementById("brutto_avg").textContent = parseFloat(prodajna_avg - nabavna);

Проблема в третьей строке. Я не получаю правильную сумму и не знаю почему. В первом ряду сумма 5,624,17, а во втором ряду 3,904,54. Третья строка возвращает 5.620,19 по какой-то причине, тогда как она должна быть 1,719,63.

Вы можете мне помочь? Я изучаю JavaScript, поэтому это проблема для меня.

Благодарю.

1 ответ

Решение

Удостоверься что $nabavna_cijena правильно отформатирован.

var nabavna = parseFloat("3.904,54");  // --> nabavna == 3.904
var nabavna = parseFloat("3,904.54");  // --> nabavna == 3
var nabavna = parseFloat("3904.54");   // --> nabavna == 3904.54

Функция parseFloat() требует, чтобы десятичная точка . и это не позволяет разделитель группы.

Другие вопросы по тегам