- - PR -
java.lang.Math rint
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-14 16:42
java.lang.Math
のrint(四捨五入)なのですが、 ImageRows = 1.5; ImageRows = Math.rint(ImageRows); System.out.println(ImageRows); だと2.0となりますが、 ImageRows = 0.5; ImageRows = Math.rint(ImageRows); System.out.println(ImageRows); だと0.0になるのはどうしてでしょうか? 整数に四捨五入してくれるはず。。。 |
|
投稿日時: 2005-03-14 16:44
丸め誤差という単語で検索してみると良いと思います。
|
|
投稿日時: 2005-03-14 16:53
偶数丸めだから・・・だと思います。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19008&forum=7 あたりで詳しく議論されています。 [編集内容] リンク先は偶数丸めと.NetのMath.roundについて議論されています。 ただ、 JDKの日本語ドキュメントMathを読んだ限りでは Java では「round が四捨五入」、「rint が偶数丸め」のように読めますがいかがでしょうか? [編集内容] ×呼んだ→読んだ [ メッセージ編集済み 編集者: パテ太 編集日時 2005-03-14 17:08 ] [ メッセージ編集済み 編集者: パテ太 編集日時 2005-03-14 17:12 ] |
1