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

宜しくお願いします。

A 回答 (2件)

小数点以下第3位の四捨五入や切り捨てなら



x = Math.round( y * 100 ) / 100;
x = Math.floor( y * 100 ) / 100;

と言うように、小数点の位置を変えて、
計算してから元に戻してやれば、OKですよ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/05/07 16:58

>小数点以下第何位を四捨五入するとか、


>第何位以下を切り捨てるといった数学関数はありますか?

ないと思います。

力技ですが次のようにすれば求めることが出来ます。
(xを小数点以下第n位で四捨五入する場合)

Math.round(x*Math.pow(10,n-1))/Math.pow(10,n-1)
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/05/07 16:54

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


人気Q&Aランキング