2016-11-11 5 views
0

я написал компонент, как показано ниже:Операция сложения в angular2 с использованием машинописного

export class AppComponent { 
    public num1: number = 2; 
    public num2: number = 3; 
    public sum: number = 0; 
    public add() { 
     this.sum = this.num1 + this.num2; 
    } 
} 

Для этого, я получаю сумму в 23 вместо 5. Дайте мне правильное решение, чтобы сделать добавление. Буду рад узнать ответ

+0

Я не вижу никаких проблем здесь: http://plnkr.co/edit/ZE9MuIQKQaUUc39ptJ5u?p=preview – echonax

+0

ответ знакомства НИЦАН Томер для почему объявили ваши переменные машинопись, как числа можно рассматривать как строки: https: //stackoverflow.com/questions/ 39269701/typescript-try-the-addition-of-two-variables-but-get-the-concatenation-of-t – Ralph

ответ

2

Это потому, что ваши номера обрабатываются как строки.

поэтому его делают "2" + "3" = "23"

, чтобы заставить использовать номер функции ParseInt или сделать ...

this.sum = +this.num1 + +this.num2; 

или это должно работать слишком ...

this.sum = +this.num1 + this.num2; 
+1

В соответствии с этим вопросом они не являются строками. – echonax

+2

Вопрос скорее всего не полный. Я бы ожидал той же причины, что и в ответе. – Matthias247

+0

isNaN ("2") === false – danday74