電子書籍の厳選無料作品が豊富!

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

A 回答 (1件)

var n = 1.005;


として、
var s = String(n);
var ans =
(parseInt(n*100)+((Number(s.charAt((s+".").indexOf(".")+3))>4)?1:0))/100;
なんか思い切りかっこ悪いんですけど(^^;
    • good
    • 0
この回答へのお礼

いやいやいや、とんでもないです。
こういうやり方もあるんだなと、勉強になりました。
ありがとうございました。

お礼日時:2002/06/14 23:50

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