2017-07-21 6 views
0

Vue JSスキルをテストするための電卓を構築しています。私は基本が働いているか、少なくともセットアップしていますが、複数の番号(たとえば34)を入力すると、すべての数値(例:34)を全体の値として読み取ることができません。むしろそれは合計に3と4を加えます。私はとのトラブルを抱えているスニペットはここにある:Vue JS - 電卓 - 値として出力文字列を読み取る

press: function(num) { 
    if(this.currentNum == 0) 
    { 
     this.currentNum = num; 
     this.output = num.toString(); 
    } 
    else { 
     this.output += num.toString(); 
     this.currentNum = this.output.parseInt(); 
    } 
}, 

はここで、より良い状況についてCodePenの全体のことだ - 私はこれはJSの問題のより多くのではなく、Vueのに固有のものでさえあると思いhttps://codepen.io/ajm90UK/pen/BZgZvV

文字列にparseInt()を付けて運がない。どのように私がディスプレイ(出力)を読むことができるかについての提案は非常に高く評価されます。

+2

'this.currentNum = parseInt(this.output); ' – Gerardo

+0

私はそれが正しく見えていないと思った!ありがとう – Andyjm

答えて

0

parseInt()は、String prototypeのメソッドではなく、組み込み関数です。

更新この行:これまで

this.currentNum = this.output.parseInt(); 

this.currentNum = parseInt(this.output); 

そして、2番目のパラメータで基数を指定することは良いアイデアです - ほとんどすべてのケースで、おそらく10を、小数のために:022のような値が入力されている場合

this.currentNum = parseInt(this.output, 10); 

その方法は、それは解釈されませんsは8進値(すなわち、小数第18)。

関連する問題