代码改变世界

[导入]很奇怪的double相加

2007-12-03 00:12  午夜瞎想  阅读(866)  评论(0编辑  收藏  举报
今天在做报表的时候 突然出现一个奇怪的事情 两个double变量 38.20 -39.80 相加后得出一个 -1.5999999的数

两个数相加怎么会出现这种情况呢!

百度"double相加" 发现大量这样的问题.在java .net里面都存在!

根本的原因是在由精度问题引起的。2进制和10进制的差异产生这样的结果。

继续百度"double decimal区别"

float是单精度,double是双精度,decimal是数字型,它们所占的内存空间不一样,表示的位数也不一样。
除了科学计算以外,一般不用double型的。对于数字(包括小数)一般用decimal型的。

继续搜索 "double decimal 占用内存"

找到一篇很详细的说明各种类型的文章 C#语言基础

结论:数学中的实数不仅包括整数,而且包括小数。小数在C#中主要采用两种类型来表示:单精度(float)和双精度(double)。它们的主要差别在于取值范围和精度不同。程序如果用大量的双精度类型的话,虽然说数据比

[这文章好像很不错喔!我要查阅完整全文! ]


相关文章:

    文章来源:http://hi.doublog.com/master/blog/item/72/