C# 中 double的精度问题

double的精度为15到16位。
到了第16位小数的时候,发现了奇怪的问题(见图)。
就是明明两个数不同,比较起来却是相同。
明明一个数比另一个数大,比较起来却是错的。
这是为什么?

与double采用的计数法有关,最后几位小数不是那么精确.
可以百度查下double和float是怎么在内存,存储的,就会明白.
这2个和long和int存储方式是不一样的
温馨提示:答案为网友推荐,仅供参考
相似回答