Javascript: Как получить сумму без конкатенации?

0

Как я могу остановить javascript от конкатенации моих двух значений, которые я пытаюсь получить.

Я выполнил поиск, и я нашел parseInt(String s) чтобы превратить строку в int. Но когда я попробовал попытку ниже, это не получилось.

Попытался на это, но он потерпел неудачу.

$total = "£" + ( parseInt($amount2) +  parseInt($rent));

Код, который испортится

            $total = "£" + ($amount2 + $rent);

Полная функция

 function update(slider, val) {
            //changed. Now, directly take value from ui.value. if not set (initial, will use current value.)
            var $amount = slider == 1 ? val : $("#amount").val();
            var $duration = slider == 2 ? val : $("#duration").val();
            var $rent = $("#MonthlyRent").val();
            var $amount2 = $amount.replace('%', '');

            /* commented
            $amount = $( "#slider" ).slider( "value" );
            $duration = $( "#slider2" ).slider( "value" );
             */
            $total = "£" + ($amount2 + $rent);
            $("#amount").val($amount);
            $("#amount-label").text($amount);
            $("#duration").val($duration);
            $("#duration-label").text($duration);
            $("#total").val($total);
            $("#total-label").text($total);

            $('#slider a').html('<label><span class="glyphicon glyphicon-chevron-left"></span> ' + $amount + ' <span class="glyphicon glyphicon-chevron-right"></span></label>');
            $('#slider2 a').html('<label><span class="glyphicon glyphicon-chevron-left"></span> ' + $duration + ' <span class="glyphicon glyphicon-chevron-right"></span></label>');
        }
  • 0
    Не используйте теги неправильно.
  • 0
    для вашего названия, это javascript, а не java ...
Показать ещё 3 комментария

3 ответа

0
Лучший ответ

вы можете суммировать числа, используя Number();

    $1="0.56";
    $2="0.65";
    var a=Number($1)+Number($2);
    alert("$"+a); 

Пример jsFiddle

0

Предполагая $amount2 и $rent hold numbers: -

$total = "£" + ($amount2 - - $rent);

" - - это сокращенное выражение для string to integer converter а также добавление позже.

Для последующих вычислений используйте isNaN чтобы убедиться, что результатом является число.

Пример:

if(!isNaN($total)){
    // do other calculations
}
else{
    // show error message or do nothing
}
0

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

$total = parseInt($amount2) +  parseInt($rent);
$total = "£" + $total;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню