程序中,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) ) 自己写个程序试下不就知道了。 个人觉得用转化为整数 在比较 不知道你用的什么软件,你可以自己尝试一下是否可以实现你要的功能,如果不行,建议还是使用化整数方式处理。 还是转为整形的吧。。。
直接比较感觉不保险。。。。 就这样比较后,printf不行吗? 记得好像是 if((val-10)>0) 学习一下 比较大小不会有错,判断相等会出现误差。
页:
[1]