C语言中如何进行小数点四舍五入
时间: 2024-09-27 22:09:33 浏览: 43
汇编能实现小数的四舍五入么?
在C语言中,可以使用标准库函数`<math.h>`中的`round()`函数来进行小数点后的四舍五入。这个函数接受一个浮点数作为输入,并返回最接近的整数,如果小数部分是0.5,则根据舍入规则进行四舍五入。
```c
#include <math.h>
int round_to_nearest(int num) {
return (num >= 0) ? floor(num + 0.5) : ceil(num - 0.5);
}
double round_double(double num) {
return floor(num + 0.5); // 对于双精度浮点数,因为默认向上取整
}
```
对于需要保留指定位数的小数,可以先将小数转换成整数,然后乘以适当的10的幂,进行操作后再除以相同的幂,恢复原数值。例如,如果你想要保留两位小数:
```c
void round_to_two_decimal_places(double *num) {
int integer = trunc(*num * 100); // 舍去小数
double rounded_integer = round(integer / 100.0);
*num = rounded_integer / 100.0; // 再恢复到原来的精度
}
```
阅读全文