2014-12-21 4 views
-3

Я попытался сложение и вычитание отрицательных чисел с этим кодомсложение и вычитание с отрицательными числами

var num1 = parseInt(document.form1.num1.value); 
var num2 = parseInt(document.form1.num2.value); 
if(operand == "plus"){ 
    var sum = parseInt(num1+num2); 
    // add alerts to check 
    alert (num1); 
    alert (num2); 
    alert (sum); 
}else{ 
    var sum = parseInt(num1-num2); 
} 

, но когда я печатаю результат (сумма), программа игнорируемых отрицательное число и просто подсчитать, как если бы это положительное число. Я попытался удалить parseInt, но ничего не изменилось. для тех, кто смущен: мои входы - num1 и num2. используя код, который у меня был, если я ввожу (4) и (-2) и выберем знак плюса, sum = 6. они не считают отрицательный отрицательным, а положительным.

обновление: видимо, даже если я ввожу (-2), они сохраняют его как (2).

+1

Что ' num1' и 'num2'? – Leo

+0

try: var sum = parseInt (num1) - parseInt (num2); – jyrkim

+0

parseInt (num1) - parseInt (num2) не работает, если у меня есть 2 отрицательных числа. –

ответ

1

Предполагая, что sum1 и sum2 строковые литералы, что вы должны сделать, это parseInt(num1) + parseInt(num2)

Кажется, ваша проблема в том, что вы применяете двойной отрицательный, что делает положительный:

4 - -2 == 4 + 2 
+0

сделано это. все еще считаются положительными. –

+0

@ Ja͢ck, пожалуйста, предоставьте рабочий пример, чтобы воспроизвести это. – wvdz

+0

К сожалению, вы правы – wvdz

Смежные вопросы