• ベストアンサー

計算式を作りたい

過去ログにも似たようなのがあったのですが、よくわからないためご教授ください。 A欄、B欄、C欄に金額を入力してもらって、その金額をもとに、X,Yの金額を算出するようにしたいのです。 Xは(A欄+B欄)÷1000×5  端数切捨て YはXが20000未満ならC欄×0%、Xが20000以上30000未満ならC欄×5%、Xが30000以上ならC欄×10%です。端数は切捨てます。ただし、C欄が5000以上の場合は5000として計算します。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ryou0607
  • ベストアンサー率27% (71/261)
回答No.2

x0%というのは、x0?それとも+0? その辺りは普通の計算式なので、修正してください。 今はx0(つまり0)で書いています。 それと、C欄が5000以上の場合は何が5000になるのでしょうか。計算結果でしょうか。C欄の値でしょうか。ここでは、C欄の値を5000にしています。 X = Math.floor((A+B)/1000*5); if(C>5000){ C = 5000; } if(X<20000){ Y = 0; }else if(X<30000){ Y = Math.floor(C * 0.05); }else{ Y = Math.floor(C * 0.1); } if(D>10000){ D = 10000; } if(X<10000){ Z = 0; }else if(X<20000){ Z = Math.floor(D * 0.15); }else{ Z = Math.floor(D * 0.3); } 式は↑こんな感じになりますね。 値を取り出し方ですが、テキストボックスなどからとってくるのであれば @@ = parseInt([form名].[A欄].value); ↑の形で、A欄に入力された値が取り出せます。 Xというのもテキストボックスなどであるなら、 [form名].[X].value = @@; の形で値を代入することができます。 例: form1という名前のform内にboxA,boxB,boxXというテキストボックスがある場合 form1.X.value = Math.floor((parseInt(form1.A.value)+parseInt(form1.B.value))/1000*5);

nao005
質問者

お礼

思い通りのものが出来あがりました。 協力して頂いて有難うございました。

その他の回答 (1)

  • ryou0607
  • ベストアンサー率27% (71/261)
回答No.1

どこがわからないのか不明ですが。。。。 X = (A+B)/1000*5; if(C>5000){ C = 5000; } if(X<20000){ Y = 0; }else if(X<30000){ Y = C * 0.05; }else{ Y = C * 0.1; } 端数とは何をさしていますか? 1000円未満ですか?1円未満ですか? わからないのはJScriptの書き方ですか? 欄から値をとる方法ですか?表示する方法ですか? どこまでできていて、どこでつまずいているのですか?

nao005
質問者

補足

説明不足でご迷惑をお掛けしました。 初心者の為、最初からご教授していただけると助かります。 説明不足と追加項目がありますので、もう一度改めて質問内容を記載させていただきますので、最初の質問は無視して頂ければと思います。宜しくお願いします。 A欄、B欄、C欄、D欄に金額を入力してもらって、その金額をもとに、X,Y,Zの金額を算出するようにしたいのです。 Xは(A欄+B欄)÷1000×5  計算結果の1未満の端数切捨て YはXが20000未満ならC欄×0%、Xが20000以上30000未満ならC欄×5%、Xが30000以上ならC欄×10%です。計算結果の1未満の端数は切捨てます。ただし、C欄が5000以上の場合は5000として計算します。 ZはXが10000未満ならD欄×0%、Xが10000以上20000未満ならD欄×15%、Xが20000以上ならD欄×30%です。計算結果の1未満の端数は切捨てます。ただし、D欄が10000以上の場合は10000として計算します。 宜しくお願いします。

関連するQ&A

専門家に質問してみよう