c# – 是一个双人真的不适合钱吗?

我总是告诉在c#一个类型double的变量不适合钱。所有奇怪的事情都可能发生。但我似乎不能创建一个例子来演示这些问题。任何人都可以提供这样的例子吗?

(编辑;这篇文章最初标记为C#;一些回复指的是十进制的具体细节,因此意味着System.Decimal)。

(编辑2:我是具体要求一些c#代码,所以我不认为这只是语言不可知论)

非常,非常不适合。使用十进制。

double x = 3.65, y = 0.05, z = 3.7;
Console.WriteLine((x + y) == z); // false

(例如从Jon的页面here – 推荐阅读;-p)

http://stackoverflow.com/questions/316727/is-a-double-really-unsuitable-for-money

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 是一个双人真的不适合钱吗?