法一:强制类型转换
#include <stdio.h>
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 <stdio.h>
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);
头文件:<math.h>
#include <stdio.h>
#include <math.h>
int main()
{
float n = 3.14159;
n = round(n * 10000) / 10000.0;
printf("%.4f", n);
}