有没有四舍五入的函数,例 1.499999返回 2, 1.43999999返回1,-1.4999999返回-2等,急
解决方案 »
- 散分求救-sendmessage WM_COPYDATA,收到的却是空白
- 关于触发VIEW类的OnDraw()函数的问题?????????????????????
- 如何得到EXE按下了ESC键啊
- 怎么通过编程的方式知道我的系统是否启动了"活动桌面"?
- 怎么判断,列表框上面有,一行数据增加了?
- 用C语言环境如何来运行汇编程序,能运行吗?
- VC與VB ActiveX Dll間參數傳弟的問題:如何在VB dll中向VC返回字符串數組?如何在VC中向VB傳入結構數組?
- 关于创建进程通信问题,进程自动退出
- 提一个比较弱的问题!(CListBox)
- 请教:怎样把成员函数删干净?
- 求助! CImage load的问题?
- 对话框问题(急!!!)
{
double y,z;
int nRet;
if ((x >= - EPSINON) && (x <= EPSINON))
{
return 0;
}
if(x > EPSINON)
{
y = x + 0.5;
nRet = (int)y;
z = (double )nRet + 1.0;
z -= y;
if( (z >= - EPSINON) && (z <= EPSINON) )
{
return nRet + 1;
}
else
{
return nRet;
}
}
if(x < -EPSINON )
{
y = x - 0.5;
nRet = (int)y;
z = (double )nRet - 1.0;
z -= y;
if( (z >= - EPSINON) && (z <= EPSINON) )
{
return nRet -1;
}
else
{
return nRet;
}
}
}
int y = int(x+0.5)不过这样做的话
-1.4999999是返回-1的
恩??按照四舍五入,这个不应该就是返回-1吗,你要-2??
自己编。由于浮点数的精度问题,最好转换到整数再处理(int(f*10,*100...)).
#include <math.h>
double getintx(double x)
{
if (x>=0)
return ceil(x);
else
return floor(x);
}
cs2005上的