社区
C语言
帖子详情
比较两个double数的问题
seacool
2003-10-16 09:48:05
if (d1 > d2)
return 1;
else if (fabs(d1-d2)<0.0000001)
return 0;
else
return -1;
当d1 = d2 = 469810324.0900 时,d1 > d2 竟然为真!
d1、d2都是double型的,VC++ 6.0
请问这是为什么呀?
...全文
96
3
打赏
收藏
比较两个double数的问题
if (d1 > d2) return 1; else if (fabs(d1-d2) d2 竟然为真! d1、d2都是double型的,VC++ 6.0 请问这是为什么呀?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zoohoo
2003-10-17
打赏
举报
回复
浮点型的比较需要应该同一个极小值做比较。
gy_hong
2003-10-16
打赏
举报
回复
好像经产见到用一个很小的数代替0进行比较,但一直不知道为什么?
不过我在我的机子上试了,d1>d2为假呀??!!
fwinfwin
2003-10-16
打赏
举报
回复
不可以直接比较的,你下面都知道加各界定符号!
if (fabs(d1-da)>0.000001)
return 1;
else if (fabs(d1-d2)<0.0000001)
return 0;
else
return -1;
MT5 EA编写速成教学
1.主要面向有一定基础的学员;2.想编写EA苦于不知道如何下手!3.能看懂代码的学员!4.不啰嗦直接上干货!5.固定框架式编程!6.面向对象,面向函数式编程!//+------------------------------------------------------------------+void OnTick()
比较
两个
double
是否相等
计算机判断两个数相等,将判断所有的二进制位是否相等,当所有的位都相等时,两个数才相等,绝对的相等。
比较
两个
double
是否相等,不能用==
double
a, b; ... if(a==b) ... 但人们对小数来说,保留小数点后几位就足够了,因此两个小数的差在可接受的精度范围内就可以被认为是相等的。 public boolean equal(
double
a,
比较
两个
double
数是否相等(C++/Java适用)
问题
分析: 计算机判断两个数相等,将判断所有的二进制位是否相等,当所有的位都相等时,两个数才相等,绝对的相等。 解决方法: 万物没有绝对相等的概念,在我们的程序中:对小数来说,保留小数点后几位就足够了,因此两个小数的差在可接受的精度范围内就可以被认为是相等的。 #qt5写法 public bool equal(
double
a,
double
b) { if ((a- b> -0.000001) && (a- b) < 0.000001)
java
比较
double
_如何在Java中
比较
两个
double
值?
如何在Java中
比较
两个
double
值?Java中两个
double
值的简单
比较
会产生一些
问题
。 让我们考虑以下Java中的简单代码段。package
double
comparision;final public class
Double
Comparision{public static void main(String[] args){
double
a = 1.000001;
double
b = ...
iOS 两个
double
类型的数据
比较
大小
对于只有两个有效的
double
是可以直接判==的而不用搞什么相减和一个极小数相比 也就是说两个
double
之间,>、<、==、!=,<=,>=都是可以直接用的。 但如果(两组中)每组包括3、4个
double
类型,进行运算后(
比较
加减乘除运算后),得出的两个
double
数进行
比较
, 除了可以采用与极小数
比较
,还可以 用NSDecimalNumber这个类来处理浮点...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章