一尘不染

真的不适合花钱吗?

c#

我总是在C#中告诉您double类型的变量不适合钱。所有奇怪的事情都可能发生。但是我似乎无法创建一个示例来演示其中的一些问题。谁能提供这样的例子?

(编辑;该帖子最初被标记为C#;一些回复涉及的具体细节decimal,因此意味着System.Decimal)。

(编辑2:我是专门要求一些C#代码的,所以我不认为这仅与语言无关)


阅读 205

收藏
2020-05-19

共1个答案

一尘不染

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

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

(例如,从Jon的页面在这里
-推荐阅读;-p)

2020-05-19