プロが教えるわが家の防犯対策術!

利率計算を作成していて、問題が発生したため、質問します。
以下ような計算式で、四捨五入し、小数点第1位表示まで
出来たのですが、計算値が整数になってしまった場合、
10と表示されます。これを何とか、整数値になった場合、
10.0と表示させたいのですが、良い方法があれば、
ご伝授いただければと思います。

ritu = Math.round( ritu * 1000 ) / 10;//小数点第1位表示四捨五入して代入

A 回答 (4件)

> bの値がaよりも大きい値の時に、".0"表示ができませんでした。



a に小数部分があるかを判断するために、a が 1 で割り切れるかどうかを調べているわけですから、b の値を 1 以外に変えてしまっては意味がありません。
そもそも 1 を変数として宣言すること自体不要で、

<script type="text/javascript">
ritu = Math.round(ritu * 1000) / 10;
if (ritu % 1 == 0) ritu += ".0";
document.write(ritu);
</script>

で十分です。
    • good
    • 0
この回答へのお礼

回答有難うございます。
#3様のスクリプトでうまくいきました。
次回この方法で試させていただこうと思います。
有難うございました。

お礼日時:2004/08/21 20:01

ritu1 = Math.round(ritu*1000)/10;


ritu2 = Math.floor(ritu1);
ritu = ritu2 + "." + Math.floor((ritu1-ritu2)*10);
    • good
    • 0
この回答へのお礼

回答有難うございます。
書いていただいた方法で、すぐできました。
本当に有難うございました。

お礼日時:2004/08/21 20:02

<script>


a = 3;//aの値が少数だと下の条件を無視。
b = 1;//割り切れる数字の場合のみ下の条件を通過
if(!(a % b)){
a += ".0";
}
document.write(a);
</script>

#1さんの補足
たとえばこんな感じだね。

ただ、このままだと数値が文字列になってしまうと思うので、
再び数値として利用するのであれば、ほかの変数に入れておくか、
再び数値として指定する必要があります。

この回答への補足

回答有難うございます。
教えていただいた方法でやっていますが、
うまくいかないところがあるので、教えて下さい。
if(!(a % b)){
ですが、余りがなければ、".0"を付け加えて
いますが、bの値がaよりも大きい値の時に、
".0"表示ができませんでした。何か良い方法
ありますか?

補足日時:2004/08/20 21:39
    • good
    • 0

たぶん。

もっと良い方法があると思うんですが、急ぎとの事なので、応急処置の方法を・・・

数値が10で割り切れた場合に「.0」を後ろに表示させる方法で、かいくぐってみてはいかがでしょうか?

本当に、応急処置で申し訳ない。
    • good
    • 0
この回答へのお礼

回答有難うございます。
ヒントをいただいて、助かりました。

お礼日時:2004/08/21 20:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!