搜索
bottom↓
回复: 8

程序中,float数比较的问题(已解决)

[复制链接]

出0入0汤圆

发表于 2014-4-28 11:41:48 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZJJ 于 2014-5-5 11:02 编辑

现在在写程序,有一个float数的比较过程
例:float val;

if (val > 10)
{
        显示为XX.xxx  //小数点后3位,四舍五入
       
}
else
{
        显示为X.xxxx   //小数点后4位,四舍五入
}

这个浮点数的比较要怎么处理好呢?
这样判断,保险不?
if ( ((int)(val  * 10000 + 5) >= 100000)  || ((int)(val  * 100000 + 5) >= 1000000) )

出0入0汤圆

发表于 2014-4-28 13:12:20 | 显示全部楼层
自己写个程序试下不就知道了。

出0入0汤圆

发表于 2014-5-4 13:08:53 | 显示全部楼层
个人觉得用转化为整数 在比较

出0入0汤圆

发表于 2014-5-4 13:19:12 | 显示全部楼层
不知道你用的什么软件,你可以自己尝试一下是否可以实现你要的功能,如果不行,建议还是使用化整数方式处理。

出0入0汤圆

发表于 2014-5-4 13:33:48 | 显示全部楼层
还是转为整形的吧。。。
直接比较感觉不保险。。。。

出0入0汤圆

发表于 2014-5-4 13:35:44 | 显示全部楼层
就这样比较后,printf不行吗?

出0入0汤圆

发表于 2014-5-4 13:44:06 | 显示全部楼层
记得好像是 if((val-10)>0)

出0入0汤圆

发表于 2014-5-5 11:18:15 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2014-5-5 11:35:14 | 显示全部楼层
比较大小不会有错,判断相等会出现误差。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 12:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表