作者jaw109 (泼文章都是为了养小鸡)
看板C_and_CPP
标题Re: [问题] 判断是否为整数
时间Wed Aug 2 20:08:09 2006
噢! 我认为这会有一个问题 (虽然我没遇过, 但是MFC的老师有提过).....
浮点数的零有可能是极小的值(极小的正数 或极大的负数 总之就是相当接近零)
比如考虑以下的情况
float f = 20.0/3.0;
f = f*3.0 -20.0;
if(f == 0.0)
{
// 可能永远不会成立....
}
像这种情况 我认为有需要特别去处理.....
(假想啦 我真的没有遇过)
※ 引述《slanla (slanla)》之铭言:
: ※ 引述《CMJ0121 (请多指教!!)》之铭言:
: : 在C++中
: : 有没有函数
: : 是判断使用者输入的是否为整数
: : 以此类推拉
: : 谢谢!
: 痾要看型态吧...
: 若是要判断float是不是整数...可以考虑这个...
: float a=3.5;
: if(a==int(a))
: {
: //这是整数.....
: }
: 若是字串...就又有其他延伸的方法....
: eg.. atoi(),atof() ...等等..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.64.208.249
※ 编辑: jaw109 来自: 61.64.208.249 (08/02 20:08)
1F:推 UNARYvvv:你的疑虑是对的,比对浮点数相等不该用 == 来直接比 08/02 21:35
2F:→ UNARYvvv:通常会有一个误差容许范围,在该范围内可视为相等 08/02 21:36