首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

只有3行代码!异常在哪里?高手快来看看!好奇怪!喵了个咪的

2014-01-22 
只有3行代码!错误在哪里?高手快来看看!好奇怪!喵了个咪的!大家看一下下面的代码哈!只有三行,为什么结果不

只有3行代码!错误在哪里?高手快来看看!好奇怪!喵了个咪的!
大家看一下下面的代码哈!只有三行,为什么结果不是我想要的!?



输出l是0.18,为什么0.18-0.17不等于0.01,而是0.00999......8?

错误在哪里?
该怎么改呢?
只有3行代码!异常在哪里?高手快来看看!好奇怪!喵了个咪的
[解决办法]
引用:
Quote: 引用:

精度问题,不要纠结了。
我猜也是精度问题,为什么结果不一样呢?

你可以看一下double类型数在内存中的存储方式就明白了。
double类型都是小数(1.xxxx) 乘以 2的n次方的形式表示的。所以只有像0.5,0.25等2的n次方的整数倍的数才有可能无损保存,想0.1这样的数也是有误差的
[解决办法]
原因要去学习浮点数的记录方法。

热点排行