2012-01-22 9 views
2

私はJavaScript/jqueryを学ぶための簡単な電卓を作ろうとしていますが、それを動作させる方法はかなり混乱しているようです。基本的に現時点では、数字/値の代わりに連結されている数値/値の代わりに、私の集計を正しく更新することはできないようです。もし誰かが私に正しい方法このコードとコードをより効率的にする方法についてのアドバイスがあればそれは素晴らしいことでしょう。私は誰も私に正しいスクリプトをまだ与えて欲しくない。計算機の構築に問題がある

http://jsfiddle.net/kyllle/edRk9/4/

あなたのアドバイスのためのすべてを事前に感謝

答えて

3

val()メソッドは文字列を返し、オペランドの一つが文字列である場合+オペレータは連結します。 、小数点以下の数字を解析するために、

$('input.num', '#buttons').on('click', function() { 
    // when click a number it appears in #result   
    currentNumber = parseInt($(this).val(), 10); 
    $('#result').html(currentNumber); 
}); 

parseFloat[MDN]、ないparseInt使用:あなたはparseInt[MDN]を使用して番号に値を変換することができます。

+0

、しかしのparseInt('12' だ、10 )より安全な方法とより読みやすいです。 –

+0

私はparseIntが十進数で必ずしも機能しないと思います。しかし、多分私は間違っています –

+0

@Alex Dn - あなたは正しいです。小数は 'parseFloat'を使います。私はその答えにその答えを書き加えました。 – FishBasketGordo

1

のparseInt、parseFloatはまたは合計の前に1によって値を乗算やeval()を使用しますが、それは最悪の場合:)あなたは+ '10' を使用することができます解析するためのまた