pigy0754 发表于 2014-4-28 11:41:48

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

本帖最后由 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) )

hyghyg1234 发表于 2014-4-28 13:12:20

自己写个程序试下不就知道了。

WXF_mabg 发表于 2014-5-4 13:08:53

个人觉得用转化为整数 在比较

FSL_TICS_ZJJ 发表于 2014-5-4 13:19:12

不知道你用的什么软件,你可以自己尝试一下是否可以实现你要的功能,如果不行,建议还是使用化整数方式处理。

Jordan?? 发表于 2014-5-4 13:33:48

还是转为整形的吧。。。
直接比较感觉不保险。。。。

wzavr 发表于 2014-5-4 13:35:44

就这样比较后,printf不行吗?

nome 发表于 2014-5-4 13:44:06

记得好像是 if((val-10)>0)

122402902 发表于 2014-5-5 11:18:15

学习一下

cock 发表于 2014-5-5 11:35:14

比较大小不会有错,判断相等会出现误差。
页: [1]
查看完整版本: 程序中,float数比较的问题(已解决)