比较Double型数据时的注意事项
来源:互联网 发布:千里眼ip扫描软件 编辑:程序博客网 时间:2024/05/21 08:41
比较Double型数据时的注意事项
Console.WriteLine(7.88 + 5.00 == 12.88);
结果为False,为什么呢?
分析:
用"=="来比较两个double应该相等的类型,返回真值完全是不确定的。计算机对浮点数的进行计算的原理是只保证必要精度内正确即可,例如:double a=0.9+0.2;那么只能保证小数点后1位这个精度是正确的,计算机计算这个加法的结果a的值可能是1.100000001,也可能是1.100000002也可能就是1.1,也就是说计算机计算后并不保证0.1以下各位得到的都是正确的,所以直接用==进行比较是不可行的。
我们知道数据在电脑中是以1或0来存储的
解决办法:
比较两个double数是否相等应看其相减的绝对值是否小于某一数值,此值一般低于两数精确度
例如:Console.WriteLine(Math.Abs(7.88 + 5.00 - 12.88)<0.001);
- 比较Double型数据时的注意事项
- 比较Double型数据时的注意事项
- 比较两个Double类型的数据
- Java中double类型数据的比较
- java语言中float和double类型的数据在编程时的注意事项
- 奇怪的double型变量的比较
- 在JAVA中怎么比较Double类型数据的大小?
- 在JAVA中怎么比较Double类型数据的大小?
- java中比较两个double类型的数据大小
- Java中关于Double 类型的数据比较
- 如何正确地比较两个double类型的数据
- double 与 float的比较
- java中double型数据的加减乘除
- java中double型数据的加减乘除
- double型数据的整数次方
- Double型数据的精度问题
- java中double型数据的加减乘除
- Java学习之double类型数据比较
- QT学习笔记(三):在嵌入式Linux平台上部署QT程序
- Git详解之一 Git起步
- Android 的属性系统(翻译)
- Git详解之二 Git基础
- flex启动过程和初始化
- 比较Double型数据时的注意事项
- Android IMemory
- 呀呀USB—学习USB HID的好帮手!!
- Git详解之三 Git分支
- 排序算法(java)
- (未完)【C/C++】C++智能指针
- Git详解之四 服务器上的Git
- Ubuntu下python的BeautifulSoup和Mechanize安装方法
- android MP3播放器的一些资料整理