■63182 / inTopicNo.6) |
Re[3]: DecimalをIntegerに代入すると偶数丸めになる |
□投稿者/ Akiba (3回)-(2012/07/31(Tue) 13:03:23)
|
■No63177 (魔界の仮面弁士 さん) に返信 > ■No63174 (Akiba さん) に返信
> ちなみに 2010 に限らず、旧VB(VBAを含む)でも整数への丸めには偶数丸めが採用されていたりします。
加減算を繰返した時、四捨五入より偶数丸めの方が誤差が少ないことが 期待できますので、偶数丸めが採用される理由はよく理解できますが、 問題は一般の人々に四捨五入は知っていても偶数丸めを知らない人 が多いことです。 計算結果をコンピュータの専門家だけが使うのなら問題はないのですが、 説明しても「難しい話はようわからん。」「四捨五入でいいよ。」と 言われておしまいです。 小学校で「偶数丸め」を言葉だけでも教えてもらえるような時代が来る のを待つしかないのでしょうか。
> 四捨五入を選択したい場合には、 > Decimal.Round(Decimal, Int32, MidpointRounding) As Decimal > が使えます。
これは知りませんでした。 今までは自分で作った四捨五入の関数を使いまわしていましたが、 標準的なものがあるのなら今後は改めたいと思います。 参考になりました。
C#での詳しい説明も有難うございました。
|
解決済み
|