在C语言里如何用四舍五入把float变为int

供稿:hz-xin.com     日期:2025-01-14
C语言中如何实现将一个浮点数float转成int类型?

强制类型转换
比如:
float a = 10.5;
int b = (int)a;
这样 就转换了,但是不推荐高精度转低精度 会丢失精度的
就像这个,a是10.5 转换后变成10了小了太多

用Math.Ceiling,这是向上进位取整函数。
例如:Math.Ceiling(32.4) 结果是33; Math.Ceiling(32.0) 结果是 32

与此对应的是向下舍位取整 Math.Floor。
例如: Math.Floor(32.6) 结果是32

加与变量同符号的0.5,再强制取整就可以了。如下面的举例代码:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    double x=3.1415926,y=1.507,z=0.499999;
    printf("%d %d %d
",int(x+(x>0?.5:-.5)),int(y+(y>0?.5:-.5)),int(z+(z>0?.5:-.5)));
    return 0;
}


float乘10,加5,强制转化成int,除10。 正数的。
负数的类似。

直接把float加0.5转换成int就可以了

请问空调的“匹”与功率是怎么换算?
间的热量换算各国不同, 此处用的是除奥地利,法国,捷克和苏联等一些国家以外的一般换算率.小数点后第三位均四舍五入. 1 公吨薪柴约合 0.5 公吨"标准"煤.---石(原)油重量、容积换算28. 石(原)油重量,容积换算 一公吨折合 国别或地区 千公升(公秉) 美制桶 英制加仑 美制加仑 (Kilolitre) (US Barrel)...