两个float 怎么比较大小?

sky911911 2005-06-02 09:42:36
float p
float price
if(price==p)
这样可以吗?....
c++怎么显示float 呢???
...全文
15983 22 打赏 收藏 转发到动态 举报
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)

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧