如何在C中舍入一个数字?

我尝试在 Stack Overflow 上搜索,但找不到答案。

这是代码:

#include <stdio.h>

int main(void) {
 

double y;
printf("Enter a number: ");
scanf("%lf", &y);
printf("Your number when rounded is: %.2lf", y); 
//If user inputs 5.05286, how can i round off this number so as to get the output as 5.00
//I want the output to be rounded as well as to be 2 decimal places like 10.6789 becomes 11.00


return 0;
}

我想对一个数字进行四舍五入,例如,如果数字是5.05286,则应四舍五入为5.00,如果是5.678901,则将四舍五入到6.002小数位。数字5.678901正在四舍五入,5.05但应该四舍五入到5。我知道我可以使用floor()and ceil(),但我不认为我能够在没有条件语句的情况下完成答案,这不是我的C知识范围。我也尝试使用该round()功能,但它根本不圆。

回答

您需要导入<math.h>标题:

#include <math.h> //don't forget to import this !

double a;
a = round(5.05286); //will be rounded to 5.00

此函数对每种类型都有模拟定义,这意味着您可以传递以下类型,并且将为每个类型四舍五入到最接近的值:

double round(double a);
float roundf(float a);
long double roundl(long double a);


以上是如何在C中舍入一个数字?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>