• ベストアンサー

javascriptで四捨五入して小数点第1位表示で計算値が10になった場合、10.0と表示したい0表示にする方法

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

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

  • ベストアンサー
  • picchio
  • ベストアンサー率100% (2/2)
回答No.3

ritu1 = Math.round(ritu*1000)/10; ritu2 = Math.floor(ritu1); ritu = ritu2 + "." + Math.floor((ritu1-ritu2)*10);

sara555
質問者

お礼

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

その他の回答 (3)

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.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> で十分です。

sara555
質問者

お礼

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

  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

<script> a = 3;//aの値が少数だと下の条件を無視。 b = 1;//割り切れる数字の場合のみ下の条件を通過 if(!(a % b)){ a += ".0"; } document.write(a); </script> #1さんの補足 たとえばこんな感じだね。 ただ、このままだと数値が文字列になってしまうと思うので、 再び数値として利用するのであれば、ほかの変数に入れておくか、 再び数値として指定する必要があります。

sara555
質問者

補足

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

  • akira212
  • ベストアンサー率24% (75/308)
回答No.1

たぶん。もっと良い方法があると思うんですが、急ぎとの事なので、応急処置の方法を・・・ 数値が10で割り切れた場合に「.0」を後ろに表示させる方法で、かいくぐってみてはいかがでしょうか? 本当に、応急処置で申し訳ない。

sara555
質問者

お礼

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

関連するQ&A

  • 四捨五入について

    "1.005"を小数点第三位で四捨五入して、"1.01"にしたいのですが、 "Math.round(1.005*100)/100"だと1.005*100が100.4999999999998になってしまい、結果的に"1.00"が返されてしまいます。何か良い解決方法はないでしょうか?

  • Access2000 小数第3位で四捨五入

    質問させていただきます。 Access2000で以下の計算式を作りました。 金額 = Round(重量 × 単価,2) これは「金額」を小数第3位で四捨五入します。 ところが以下の数値の場合、正しく計算してくれません。 764.00 = 0.479 × 1595 本当は 764.005 だから 小数第3位で四捨五入すると 764.01 になると思うのですが・・・。 ちなみに以下の値では・・・ 754.44 = 0.473 × 1595 (754.435だから小数第3位で正しく四捨五入されています)。 やり方が悪いのでしょうか?それとも他に正しく計算できる方法があるのでしょうか?

  • 小数点第2位を四捨五入し…って?

    Excelの表の作成の問題なのですが、頭がこんがらがってきたので質問させてください^^; 「小数点第2位を四捨五入し、小数点以下の桁数が1桁の%表示にすること」…とは、 98.12%を 98.1% ↑のように小数第1位まで表せということですか?

  • エクセルで小数点第二位を四捨五入せず・・・

    エクセルで小数点第二位を四捨五入せずに、小数点第一位まで表示さるにはどうすればよいでしょうか。 207004×12%-24840=0.48 なんですが、0.4まで表示したいのです。 でも第一位までしか表示しないと、第二位が四捨五入されて、0.5になってしまうんですよね。 簡単な方法を教えてください。

  • 割合(%)を出すとき、小数第何位まで計算すればいいか?また四捨五入について質問

    割合の計算で、86÷1337=0.0643・・・ ですが、小数点以下第二位まで四捨五入する場合、小数第四位まで求めますが、何故第四位まで求めるのでしょうか?第五位以上は求めなくて良いのでしょうか? また四捨五入についての質問なのですが、 40.45を小数点以下第一位まで四捨五入すると、40になりますが、このときに以下の疑問点があります。 四捨五入の過程で、小数第一位は4→5になりますが、この5を四捨五入すると、繰り上がると思うのですがなぜか、5が消えてしまいます。 それはなぜかと云えば、40の0は一の位で5は小数第一位だから、0のほうが位が大きい繰り上がらないと云う認識で大丈夫でしょうか?

  • 小数点以下を5より大きいと切り上げる

    こんにちは エクセルで計算式を作っています。 計算結果の小数点以下を四捨五入して、整数にする場合は ROUND(計算式,0) となると思うのですが、 小数点以下が5より大きい場合に切り上げて、5ちょうどだった場合に切り捨てるには、どのようにすればよいでしょうか。 恐れ入りますが、よろしくお願いいたします。

  • エクセルで小数点以下3桁を四捨五入して、小数点以下1桁を表示する方法

    エクセル2003を使用しています。 計算式から出た結果に対して、小数点以下3桁を四捨五入して、小数点以下2桁ではなく、1桁を表示したいです。 例えば、計算式の結果、 1.145 の場合、普通に四捨五入すると 小数点以下1桁なら、1.1 小数点以下2桁なら、1.15 となってしまいます。 これを小数点以下3桁を四捨五入して、小数点以下1桁表示の1.2と表示させたいのですが、可能でしょうか?

  • Access2003で小数点第1位未満四捨五入

    Access2003で小数点第1位未満四捨五入の表示をするにはどうしたらいいのでしょうか?int関数を使用して平均点の四捨五入をしたのですが、整数エラーになります。Roundsも使ったり色々やったのですが、どうやら違うようなので、困っています。助けて下さ~い。

  • 小数点の四捨五入で分からないことがあります

    例えば、0.230978という値を小数点第4位を四捨五入したら、答えは0.231ですか?それとも0.2310が答えですか? また、0.8という値を小数点第1位を四捨五入したら、答えは1.0ですか?それとも1ですか? よろしくお願いします。

  • セルの値(小数点以下は四捨五入など)整数表示

    あるセルに表示する計算結果を 小数点以下は四捨五入などして 常に整数表示したいです。 方法ありますでしょうか?

専門家に質問してみよう