- ベストアンサー
javascriptで複数の計算を同時にしたい
- javascriptで複数の計算を同時に行いたい場合、%を含む計算方法について困っています。
- (aに入力された数字+aの5%)+bに入力された数字÷cで選択された数字+最後に10を足して、答えをdに表示したいです。
- 小数点以下は切捨てまたは切り上げ、表示されないようにしたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
切り捨てceil、四捨五入round、切り捨てfloorでできます 5%を足すのは単に1.05をかければいいのでは? <script> function calc(f){ var val=0; var val_a=parseFloat(f.elements["a"].value); var val_b=parseFloat(f.elements["b"].value); var val_c=0; for(var i=0;i<f.elements["c"].length;i++){ if(f.elements["c"][i].checked){ val_c=parseFloat(f.elements["c"][i].value); } } val=val_a * 1.05 + val_b / val_c + 10; val=Math.ceil(val);//切り上げ floorなら切り捨て f.elements["d"].value=val; } </script> <form> <p> <input name="a" value=""> <input name="b" value=""> <input type="radio" name="c" value="2">2 <input type="radio" name="c" value="4">4 <input type="radio" name="c" value="7">7 <input type="radio" name="c" value="9">9 <input onclick="calc(this.form)" value="計算" type="button"> <input name="d" value=""> <p> </form>
その他の回答 (1)
- qualheart
- ベストアンサー率41% (1451/3486)
function clac() { var a_value = Number(document.getElementsByName("a")[0].value); var b_value = Number(document.getElementsByName("b")[0].value); var radioObj = document.getElementsByName("c"); for ( i=0; i<radioObj.length; i++){ if(radioObj[i].checked) { var c_value = Number(radioObj[i].value); } } var d_value = ((( a_value + 0.05 * a_value ) + b_value ) / c_value ) + 10; document.getElementsByName("d")[0].value = d_value; } 上記でどうでしょう? ご参考まで。
お礼
ありがとうございました。 少しだけ、やりたいことと違ったのですが、修正したらうまく動きました! 説明が下手でごめんなさいm(_ _)m
お礼
やりたかったことを全部きれいにまとめていただき、ありがとうございますm(_ _)m 切り上げ、切捨てまで書いていただき、とても助かりました! ありがとうございました!