Проблема со сложением в калькуляторе Jquery

311
07 января 2017, 15:40

Необходимо посчитать сумму платежа по формуле: (Сумма займа * процентную ставку * кол-во месяцев + сумму займа)

Использую данный код,

$("#summa").text(Math.round($("#hidden").val() * $("#hidden2").val() * q + $("#hidden").val()));

но в нем косячит оператор +, он не прибавляет значение а добавляет к получившемуся числу еще число. т.е. работает как 'число' + 'второе число'

Answer 1

Дело в том, что вы вставляли не числа, а строки (т.е. текстовые поля). Вам нужно преобразовать все строки в числа с помощью parseFloat

$(function() { 
  var q = 4; 
  $("#summa").text(Math.round(parseFloat($("#hidden").val()) * parseFloat($("#hidden2").val()) * q + parseFloat($("#hidden").val()))); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
  
<div id="summa"></div> 
<input id="hidden" value="2"> 
<input id="hidden2" value="3">

Answer 2

Оберните каждую операцию получения значения в скобки и умножьте на 1, что бы ваша строка стала числом.

($("#hidden").val() * 1)