法一:强制类型转换

#include int main(){float a[3] = { 3.5, 3.4, 3.7 };for (int i = 0; i < 3; i++)printf("%d\n", (int)(a[i] + 0.5));return 0;}

一位小数四舍五入:(int)(浮点数+0.5);

#include int main(){float n = 3.1415;n = (int)(n * 1000 + 0.5) / 1000.0;printf("%.3f", n);}

Sum:将一个浮点数x四舍五入保留y位小数转换,扩大相应倍数+0.5,进行强制类型转换后除以相应倍数(浮点数形式)

法二:库函数

定义:int (float//double//long double x);
头文件:

#include #include int main(){float n = 3.14159;n = round(n * 10000) / 10000.0;printf("%.4f", n);}