在JS中工作的减法但是在JS中不能使用Addition

时间:2014-10-12 05:39:01

标签: javascript jquery html

我似乎无法弄清楚为什么减法在我的代码中起作用,但是当我将减法符号更改为加号时,我得到一个控制台错误:未捕获TypeError:undefined不是函数。错误在哪里?

这是减法的小提琴:http://jsfiddle.net/c8q7p6ac/ 这里有一个小提琴代替减法符号:http://jsfiddle.net/c8q7p6ac/1/

减法符号和加号在变量updatedNumber

HTML:

<div class="amount">$1000.00</div>

<input class="new-number" type="text">
<div class="button">Click</div>

jQuery的:

$('.button').on('click', function(){
        //get value of input
        var newNumber = $('.new-number').val();

        //get total number value
        var totalNumber = $('.amount').text();

        var getNumberOnly = totalNumber.indexOf('$') + 1;

        var newTotalNumb = totalNumber.substr(getNumberOnly,    totalNumber.length);

        //add new number to total number
        var updatedNumber = (newTotalNumb + newNumber).toFixed(2);


        //and update total
        $('.amount').html('$'+updatedNumber);
}); 

1 个答案:

答案 0 :(得分:3)

减法有效,因为JavaScript会将它们转换为数字。但是,在添加的情况下,只要其中一个操作数是字符串,它就会将它们转换为字符串。

您需要将字符串转换为数字:

var updatedNumber = (parseInt(newTotalNumb) + parseInt(newNumber)).toFixed(2);

在处理小数点时,您还可以使用parseFloat来保留小数点。

这是更新的fiddle