如何在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.00带2小数位。数字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);