Top > プログラミング > .NET Tips> 小数(浮動小数点数型)の計算が思った結果にならない理由と解決法

小数(浮動小数点数型)の計算が思った結果にならない理由と解決法」への評価、コメント

評価

良い / 悪い = 86 / 2 (「良い」の割合 = 0.977 , 人気度 = 1.900

評価する

コメント一覧


通常のコメント
H.Hidaka 2015/12/21 (Mon) 13:28:06
decimal を使ったことがなかったので、delphiのCurrency型の機能を探していました。ありがとうございます。
decimal をベースに、Currencyクラスを作成し、
基本はdecimalで、最後に取り込むときに、
(Math.Round(value, 15))で返すcurrencyプロパティを作り使えるかなと思ってます。
以下、Currencyクラスの一部分を付けます。
---------------------------------------
public class Currency
{
decimal value;
public decimal currency
{
get { return (Math.Round(value, 15)); }
set { this.value = Math.Round(value, 21); }
}
public Currency(decimal inData)
{
this.value = Math.Round(inData, 21);
}
public static Currency operator +(Currency z, Currency w)
{
return new Currency(z.value + w.value);
}
public static Currency operator +(Currency z, int w)
{
return new Currency(z.value + w);
}
以下、 + - * / の operator を同様に作成する。

評価の理由
dsn 2015/10/25 (Sun) 18:32:26
評価:良い
初心者です。出力が思った通りに出なくて、「微小な誤差のせいかな」「そういえばsingleなんて使うなって言っていた人がいたな」と思って調べていたらここに来ました。
大変参考になりました。ありがとうございました

評価の理由
thom 2015/09/3 (Thu) 21:26:14
評価:良い
コンピューターが小数を正しく扱えないことは知っていましたが、まさか0.1+0.2で間違うとは。。
面白い記事です。

評価の理由
張子房 2014/05/23 (Fri) 20:03:47
評価:良い
簡潔で見易く分かり易かったです。

評価の理由
K.Oumi 2014/02/4 (Tue) 10:30:04
評価:良い
すばらしいまとめです。

通常のコメント
怠惰を求めて勤勉に行きつく 2014/01/20 (Mon) 16:40:24
助かりまっサー

評価の理由
K.Oumi 2013/10/30 (Wed) 09:33:16
評価:良い
Good!

通常のコメント
aa 2012/06/27 (Wed) 17:33:03
非常に助かる

評価の理由
古い開発者 2012/04/13 (Fri) 15:29:53
評価:良い
大変参考になりました。詳しく書いていただき勉強もたくさんできました。ありがとうございました。

コメントの投稿

[説明]