ここに、私の本当に基本的なJavascriptの電卓のコードです。加算記号を除いて、私の電卓はうまく動作しています。しかし、追加はその仕事をしていない:代わりにそれを組み合わせる。それを修正するには?JavaScriptの計算機の追加が正しく機能していない
答えて
var first = prompt("First number");
var second = prompt("Second number");
parseInt(first);
parseInt(second);
var islem = prompt("Is it +/-/* or /?");
if (islem == "+") {
document.write(first + second);
}
else if (islem == "-") {
document.write(first - second);
}
else if (islem == "*") {
document.write(first * second);
}
else {
document.write(first/second);
}
のparseInt()関数は、文字列引数を解析して整数値を返します。あなたの変数にparsed
値を割り当てる必要があり
は、次のように:
first=parseInt(first);
second=parseInt(second);
それとも単に、
document.write(parseInt(first)+parseInt(second));
は参照hereを参照してください。
var first = prompt("First number");
var second = prompt("Second number");
parseInt(first);
parseInt(second);
var islem = prompt("Is it +/-/* or /?");
if (islem == "+") {
document.write(parseInt(first)+parseInt(second));
}
else if (islem == "-") {
document.write(first-second);
}
else if (islem == "*") {
document.write(first*second);
}
else {
document.write(first/second);
}
あなたがparseInt()
を使用し、あなたが今後その番号を使用できるように返された値をキャプチャする必要があります。今すぐ、parseInt()
を呼び出していますが、返された値で何もしないので、すぐに失われます。
parseInt()
にオプションの2番目のパラメータを使用することをお勧めします。これは、作業している番号の基数を設定する基数値です。通常、ベース10の数字を扱う場合は、10
になります。あなたが作業している文字列が0
で始まり、基数を指定しないと、演算はあなたが8進値で作業しているとみなし、文字列が0x
で始まると仮定すると、これは本当に重要です。 16進数(16進数)の値で作業しているとします。
詳細については、parseInt()
を参照してください。
コードは次のようになります。
var first = prompt("First number");
var second = prompt("Second number");
first = parseInt(first, 10);
second = parseInt(second, 10);
あなたはどこにでもparseInt
結果を格納し、代わりに文字列に対する操作を実行されていません。 +
も文字列連結操作であるため、という結果が得られます。ライン3-4にを変更してみてください:
var first = prompt("First number");
var second = prompt("Second number");
var firstParsedInteger = parseInt(first);
var secondParsedInteger = parseInt(second);
var islem = prompt("Is it +/-/* or /?");
if (islem == "+") {
document.write(firstParsedInteger + secondParsedInteger);
}
else if (islem == "-") {
document.write(first-second);
}
else if (islem == "*") {
document.write(first*second);
}
else {
document.write(first/second);
}
注:ここでは
first = parseInt(first, 10); //don't forget the base!
second = parseInt(second, 10);
//TBD: add some error handling code to check values
は右のプログラムであるあなたは、解析された値を使用したことはありません。 javascriptでは、数値にvarを使用し、 '+'演算子を使用している場合。これらの数字は数値ではなく文字列として扱われます。 javascriptでvarと+を使って再生するときは、整数を解析することを忘れないでください。
これらの回答はすべて素晴らしいです!あなたはできるだけ多くの不要な変数
2)の代わりにもし/他のswitch文を使用することを宣言していないように私は、さらに一歩と
1)すぐにプロンプトにparseInt()
に電話を行くと思います!他のケースを追加したり、累乗などを簡単に追加できますしかし、これはスタイルの選択肢の多くです:)
parseInt()
の代わりにparseFloat()
を使用して10進数の入力を処理することもできます。
var first = parseInt(prompt("First number"));
var second = parseInt(prompt("Second number"));
var islem = prompt("Is it +/-/* or /?");
switch (islem) {
case "+":
document.write(first+second);
break;
case "-":
document.write(first-second);
break;
case "*":
document.write(first*second);
break;
case "/":
document.write(first/second);
break;
default:
document.write("Excuse me? Give me an operator, please!");
};
- 1. 複雑な計算でcalc()が正しく機能しない
- 2. 計算が正しく機能しない
- 3. UITableViewへのドロップシャドウの追加が正しく機能しない
- 4. カートの商品の加減算が正しく機能していない
- 5. Searchtreeの追加メソッドが正しく機能しない
- 6. AngularJS、計算の加算(+)が機能していません
- 7. 単純な加算と減算が正しく機能しない
- 8. AngularJsの総アイテムの計算ページネーション(ui.bootstrap)が正しく機能しない
- 9. Javascript URLパラメータキャプチャが正しく機能していない
- 10. 時間計算機の日付形式が正しくない
- 11. JavaScriptのマウスイベントハンドラがAndroidのタッチスクリーンに正しく機能しない
- 12. Djangoの拡張機能 - ダンプスクリプトが正しく機能しない
- 13. アイコン機能のサイズが正しく計算されていません
- 14. javascriptのアラートリダイレクトが正しく機能しない
- 15. Javascriptの「リセット」機能が正しく動作しない
- 16. javascript関数がdocument.ready()の下で正しく機能しない
- 17. CSS - ループのJavaScriptでトランジションが正しく機能しない
- 18. JavaScriptのタブが正しく機能しない
- 19. Twilio IP Messaging:Androidのチャンネル参加が正しく機能しない
- 20. ModalPopupExtenderが正しく機能しない
- 21. タイムゾーンが正しく機能しない
- 22. セッションタイムアウトが正しく機能しない
- 23. CanExecuteChangedが正しく機能しない
- 24. self.startRunningが正しく機能しない
- 25. GetContentHeight()が正しく機能しない
- 26. NSUserDefaultsが正しく機能しない
- 27. XMLHTTPRequestが正しく機能しない
- 28. モーダルが正しく機能しない
- 29. スクロールビューが正しく機能しない
- 30. ホバーボタンが正しく機能しない
'prompt'結果ごとに' number'に 'convert'しなければならないので' string'です。 –
しかし、OPはすでに 'parseInt()'を呼び出していますので、別の呼び出しを追加するのではなく、最初に結果を取得するだけです。 –
@ScottMarcus、申し訳ありません。私の間違い。 –