我总是在C#中告诉您double类型的变量不适合钱。所有奇怪的事情都可能发生。但是我似乎无法创建一个示例来演示其中的一些问题。谁能提供这样的例子?
(编辑;该帖子最初被标记为C#;一些回复涉及的具体细节decimal,因此意味着System.Decimal)。
decimal
System.Decimal
(编辑2:我是专门要求一些C#代码的,所以我不认为这仅与语言无关)
非常非常不合适。使用十进制。
double x = 3.65, y = 0.05, z = 3.7; Console.WriteLine((x + y) == z); // false
(例如,从Jon的页面在这里 -推荐阅读;-p)