我在jonskeet博客上读过,现在我想知道答案

本文关键字:想知道 答案 jonskeet 我在 | 更新日期: 2023-09-27 18:11:53

可能重复:
浮点不准确性示例
浮点比较

计算机应该擅长算术,不是吗?为什么这个打印的是"假"?

double d1 = 1.000001;
double d2 = 0.000001;
Console.WriteLine((d1-d2)==1.0); 

或者在c sharp或java 中会有不同的结果

我在jonskeet博客上读过,现在我想知道答案

我认为结果可能会因您使用的处理器和语言而异
这是因为浮点数(通常(是用一些试图表示该分数的比特来存储的,但可能会有一些(非常小的(差异
所以当你做(d1-d2)时,你可能会得到一个非常接近1.0的数字,但不完全是1.0!!