如何用代码实现四舍五入


例如:

float fPi = 3.14159F;

int iPi = (int) fPi;

 C语言在强制类型转换的时候是直接将浮点数fPi的整数部分的值赋给iPi, 所以不会是我们数学的思维(四舍五入),那么要想让以上的转换遵循四舍五入的原则应该如何做?

经过网上的搜索后我找到了一种方法:

float fPi = 3.14159F;

int iPi = (int) (fPi + 0.5F);

负数的四舍五入:

float fP = -3.14159F;

int iP = (int) (fPi - 0.5F);

整合一下:

float fPi = 3.14159F;
int iPi = (int) (fPi + 0.5);
float fP = -3.14159F;
int iP = 0;
if (fP < 0.0f) // 负数
{
	(int) (fPi - 0.5F);
}
else // 非负数
{
	(int) (fPi + 0.5F);
}


 

你可能感兴趣的:(语言,float,FP)