黑马程序员技术交流社区

标题: string 转换为 double 数值发生改变是什么原因 [打印本页]

作者: 汪振    时间: 2013-2-20 10:38
标题: string 转换为 double 数值发生改变是什么原因
本帖最后由 汪振 于 2013-3-7 13:57 编辑

如图,从textbox 取得输入的值,通过“double.Trypase”转换为double类型

被赋给的变量监视中的值为111.3 ,用它进行计算时用的却是"111.29999999999991"
请问这是什么原因,代码中未有其他的转换
是不是和double的小数位数有关,MSDN中double的精度为15-16位

2.jpg (22.95 KB, 下载次数: 21)

2.jpg

1.jpg (12.23 KB, 下载次数: 17)

1.jpg

作者: 汪振    时间: 2013-2-21 08:20
求解,虽然可以通过定义误差范围进行解决,不过不知道其中缘由
作者: 徐荣权    时间: 2013-2-21 09:05
这个跟转换没有关系
http://blog.csdn.net/waitfor_/article/details/8035773
这里有比较详细的讲解,希望对你有帮组。
作者: 汪振    时间: 2013-2-21 10:25
徐荣权 发表于 2013-2-21 09:05
这个跟转换没有关系
http://blog.csdn.net/waitfor_/article/details/8035773
这里有比较详细的讲解,希望 ...

:handshake 很有帮助,谢谢啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2