• 締切済み

JavaSの追加計算

function keisan(){ // 設定開始 var price1 = document.form1.kazu.value; // 合計を計算 if (price1 < 10000) { var total = parseInt(price1)*44/10000; } else { var total = parseInt(price1)*45/10000; } else if // 設定終了 document.form1.field_total.value = total; // 合計を表示 } // --> </SCRIPT> 上記に追加で*22/10000の計算を入れたいのですがどうしたらいいのですようか? 初心者なので申し訳ございませんがご教授お願い致します。

みんなの回答

  • KanjiTalk
  • ベストアンサー率30% (7/23)
回答No.3

>Java S Java S ではなく JavaScript ですよ? Java と JavaScript は全く別の言語です。 (知っていたらすみません)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

#1です。 1の補足にあるスクリプトですが、 price2が一体なんなのかよくわかりませんが、 それを除けば大きな問題はないかと。 あ、ひとつありますね。 if ((price1 < 10000) && (price2.options[price2.selectedIndex].value == "????")){ var total = parseInt(price1)*20/10000; } else if ((price1 > 9999) && (price2.options[price2.selectedIndex].value == "????")){ var total = parseInt(price1)*20/10000; ↑ここの部分ですけど、price2.(略 ).value と比較する値が同じであるなら、 if (price2.(略).value == "????") { var total = parseInt(price1)*20/10000; } else if (price1 < 10000) { var total = ... } else { var total = ... } price1の値に関わらず *20/10000 をやってますから まとめた方がいいですね。 同じものを求めるのに二箇所で別々に計算していると、 間違いの元になります(片方だけしか直さないとか)。

auaua178
質問者

補足

先ほどはご返答ありがとうございます。 まとめた方が見栄えも良くわかりやすくなりました。 度々で申し訳ございませんが下記の1000=4.4、10000=45 の計算を出したのですが11000=49.5となってしまいます。 どの様な書き方ですと正しく計算するのかご教示頂けませんでしょうか? } else if (price1 < 10000) { var total = parseInt(price1)*44/10000; } else { var total = parseInt(price1)*45/10000; }

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

追加する以前に、このスクリプトは動いていないのではないですか? if () {} else {} のあとに else if とくるのは変ですよ。 あと、どのような場合に *22/10000をしたいのでしょうか? もしこのelse if の本体部に *22/10000 を使った 計算を入れたいのなら、 if (price1 < 10000) { var total = parseInt(price1)*44/10000; } else if (????) { var total = parseInt(price1)*22/10000; } else { var total = parseInt(price1)*45/10000; } のような感じになります。 *22/10000 を行う条件がわかりませんので 実際に使うときは埋めてください。 varの使い方も気になりますが、とりあえずは スルーしておきます。 ×教授 ○教示

auaua178
質問者

お礼

色々とお答えしていただきありがとうございます。 else ifにつきましては作成段階で間違って記載したものでした。 申し訳ございませんでしたm(_ _)m sakusaker7様の参考にして試行錯誤で完成させて行きたいと思ういます。

auaua178
質問者

補足

function keisan(){ // 設定開始 var price1 = document.form1.kazu.value; var price2 = document.form1.????; // 合計を計算 if ((price1 < 10000) && (price2.options[price2.selectedIndex].value == "????")){ var total = parseInt(price1)*20/10000; } else if ((price1 > 9999) && (price2.options[price2.selectedIndex].value == "????")){ var total = parseInt(price1)*20/10000; } else if (price1 < 10000) { var total = parseInt(price1)*44/10000; } else { var total = parseInt(price1)*45/10000; } // 設定終了 document.form1.field_total.value = total; // 合計を表示 } // --> こんな感じに仕上がったのですがどうでしょうか?

関連するQ&A