社区
C++ 语言
帖子详情
两个float 怎么比较大小?
sky911911
2005-06-02 09:42:36
float p
float price
if(price==p)
这样可以吗?....
c++怎么显示float 呢???
...全文
15983
22
打赏
收藏
两个float 怎么比较大小?
float p float price if(price==p) 这样可以吗?.... c++怎么显示float 呢???
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sky911911
2005-06-06
打赏
举报
回复
FromNoWhere() 没事的 “错”了在改 改了在“犯” 嘿嘿 谢谢大家 解贴了!。。。。。。。。。。。。。。。。。。
mostideal
2005-06-03
打赏
举报
回复
mark
zdy_8212
2005-06-03
打赏
举报
回复
这样比的结果是比较不一定是正确的。3。141 可能就等于3.14.
foochow
2005-06-02
打赏
举报
回复
mark!!
tiesoftware
2005-06-02
打赏
举报
回复
张见识了!
dophin1003
2005-06-02
打赏
举报
回复
zz
4.3.3 浮点变量与零值比较
【规则4-3-3】不可将浮点变量用“==”或“!=”与任何数字比较。
千万要留意,无论是float 还是double 类型的变量,都有精度限制。所以一定要
避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。
假设浮点变量的名字为x,应当将
if (x == 0.0) // 隐含错误的比较
转化为
if ((x>=-EPSINON) && (x<=EPSINON))
其中EPSINON 是允许的误差(即精度)。
whatsouta
2005-06-02
打赏
举报
回复
又学习到一个东东
cmoring
2005-06-02
打赏
举报
回复
定义一个精度,用差的绝对值比较,在精度范围内就认为是相等的;大小可以直接比较。
heartliubin
2005-06-02
打赏
举报
回复
同意楼上的,很多工程的应用都是采用计算精确度的方式
pomelowu
2005-06-02
打赏
举报
回复
用==从语法上说没错,但是本来应该相等的两个浮点数由于计算机内部表示的原因可能略有微小的误差,这时用==就会认为它们不等。应该使用两个浮点数之间的差异的绝对值小于某个可以接受的值来判断判断它们是否相等,比如用
if (fabs(price - p) < 0.000001)
来代替
if (price == p)
jsjjms
2005-06-02
打赏
举报
回复
float类型计算机表面会进行比较操作。但一般不使用 == ,而使用象lyld2618所用的方法,
原因会造成float精度丢失。
lyld3618
2005-06-02
打赏
举报
回复
float 类型不能比较相等或不等,但可以比较>,<,>=,<=
FromNoWhere
2005-06-02
打赏
举报
回复
可以。
float a;
cout<<a<<endl;
sinkinglife
2005-06-02
打赏
举报
回复
两个float型变量不可以这样比,只能设定差值的范围 。
zzol
2005-06-02
打赏
举报
回复
pomelowu(羽战士) 说的是!
iamltlb
2005-06-02
打赏
举报
回复
见识了
CloudOfFly
2005-06-02
打赏
举报
回复
不能直接用==来比较
SkyGG
2005-06-02
打赏
举报
回复
mark
非完美主义者
2005-06-02
打赏
举报
回复
原来如此
zhang9912_1979
2005-06-02
打赏
举报
回复
mark!!!!!!!!!!!!!!!!
加载更多回复(2)
两个
float
怎么
比较大小
float
类型不能比较相等或不等,但可以比较>,=, 用==从语法上说没错,但是本来应该相等的
两个
浮点数由于计算机内部表示的原因可能略有微小的误差,这时用==就会认为它们不等。应该使用
两个
浮点数之间的差异的绝对值小于某个可以接受的值来判断判断它们是否相等,比如用 if (fabs(price - p) 来代替 if (price == p) 很
两个
float
类型数据
比较大小
float
类型不能比较相等或不等,但可以比较>,<,>=,<= 用==从语法上说没错,但是本来应该相等的
两个
浮点数由于计算机内部表示的原因可能略有微小的误差,这时用==就会认为它们不等。应该使用
两个
浮点数之间的差异的绝对值小于某个可以接受的值来判断判断它们是否相等,比如用 if(fabs(price-p)<0.000001) 来代替 if...
两个
float
比较大小
的问题
两个
float
,单纯
比较大小
,比如
float
a=3.3f
float
b=4,5f; if(b>a){ System.out.println("ok"); } 这样是成功的,但是
两个
float
相乘除,特别是在entrySet遍历的时候,
两个
float
相乘除,就会出问题,具体问题也不是很清楚了,大概是是相除的时候转换为double型了吧。但是单独测试
两个
float
相乘除没问题...
java中
float
比较大小
,Java中的
Float
比较
要比较Java中的
Float
,请使用以下方法-方法1-Java中的compareTo(new
Float
)方法java.lang.
Float
.compareTo()方法比较
两个
Float
对象。如果新的
float
值在数值上等于此
Float
,则此方法返回值0;否则,返回0。如果此
Float
在数值上小于新的
float
,则该值小于0;如果此
Float
在数值上大于新的
float
,则该值大于0。这是一个例子-示例 输出结果f1 is equal to f2方法2-Java中的compare(f1,f2)方法java.
两个
float
值
比较大小
如果程序中要求比较
两个
float
值是否相等,你会怎样写呢?
float
a;
float
b; if(a == b) { ... } 这样写对吗? 其实这样写不对,为什么呢?原因是
float
型在计算机中存储中只能取近似值,有精度的限制。那么正确的做法是什么呢? 定义一个允许的最小误差,比如:
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章