• ベストアンサー

計算結果の処理について

入力された数値に従って、計算をするというスクリプトを作成しています。 計算結果が2.27272727…と続くような場合が出てくるので、 小数点以下第何位を四捨五入するとか、第何位以下を切り捨てるといった数学関数はありますか? 調べてみても、以下3つぐらいしかありませんでした。 Math.ceil() Math.floor() Math.round() 宜しくお願いします。

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

  • ベストアンサー
  • arata
  • ベストアンサー率49% (139/279)
回答No.1

小数点以下第3位の四捨五入や切り捨てなら x = Math.round( y * 100 ) / 100; x = Math.floor( y * 100 ) / 100; と言うように、小数点の位置を変えて、 計算してから元に戻してやれば、OKですよ。

garfield
質問者

お礼

簡単で、かつ初心者の私にもよ~く解かる回答を頂き、ありがとうございました。 なんか、してやられた! という感じで、感激してしまいました。今後とも宜しくお願いいたします。

その他の回答 (1)

  • gokkun
  • ベストアンサー率47% (115/244)
回答No.2

>小数点以下第何位を四捨五入するとか、 >第何位以下を切り捨てるといった数学関数はありますか? ないと思います。 力技ですが次のようにすれば求めることが出来ます。 (xを小数点以下第n位で四捨五入する場合) Math.round(x*Math.pow(10,n-1))/Math.pow(10,n-1)

garfield
質問者

お礼

力強く“ない”と言って頂き、嬉しかったです。(私自身も上司に言い張ってましたから)けれども、抜け道があることも知りました。 ありがとうございました。また、宜しくお願いします。

関連するQ&A

専門家に質問してみよう