У меня небольшие проблемы с математическим вычислением в javascript.Цель этого расчета - создать значение, когда пользователь щелкает текстовое поле.
Например: 1 килограмм стоит 32 цента за доставку в Америку, и пользователь хочет узнать, какая 10 кг будет стоить емусоставляет $ 3,20.Для этого у меня есть следующий фрагмент кода JavaScript:
function calculate(num) {
var weight = document.getElementById('weight'+num);
var price = document.getElementById('price'+num);
if(num == undefined || num == '' || num.length <= 0 || isNaN(weight.value) || isNaN(price.value)) return false;
if(num == 1) multiplyBy = 0.32;
if(num == 2) multiplyBy = 0.14;
if(num == 3) multiplyBy = 0.24;
if(num == 4) multiplyBy = 0.53;
var sum = parseInt(document.getElementById('weight'+num).value) * multiplyBy;
if(isNaN(sum)) return false;
price.value = sum;
}
Приведенный выше код прекрасно работает, однако, когда я переворачиваю процесс (кто-то имеет $ 3,20 и хочет узнать, сколько килограммов он / она может отправитьс этим (что составляет 10 кг) скрипт возвращает: 9,375 кг
Следующий код используется для этого расчета:
function reverse(num) {
var weight = document.getElementById('weight'+num);
var price = document.getElementById('price'+num);
if(num == undefined || num == '' || num.length <= 0 || isNaN(weight.value) || isNaN(price.value)) return false;
if(num == 1) divideBy = 0.32;
if(num == 2) divideBy = 0.14;
if(num == 3) divideBy = 0.24;
if(num == 4) divideBy = 0.53;
var sum = parseInt(document.getElementById('price'+num).value) / divideBy;
if(isNaN(sum)) return false;
weight.value = sum;
}
Я, честно говоря, не понимаю, почему он терпит неудачу, он будетБуду очень признателен, если кто-то может помочь мне с этим.