C程序打印具有可变精度的数字
C program printing numbers with variable precision
你知道如何将一个数字四舍五入并以不是由某个自然数固定,而是由某个变量固定的精度打印吗?如果用户需要输入小数点后几位四舍五入,如何解决?
#include <stdio.h>
int main()
{
int r;
double var = 37.66666;
scanf("%d", &r);
printf("%.2f", var);
return 0;
}
以下是适用于您的情况的简单方法:
你只需要在f之前加上*就可以了。
#include <stdio.h>
int main()
{
int r;
double var = 37.66666;
scanf("%d", &r);
printf("%.*f",r, var);
return 0;
}
您可以用 *
代替精度,在这种情况下,您可以指定 int
作为精度。
printf("%.*f", r, var);
你知道如何将一个数字四舍五入并以不是由某个自然数固定,而是由某个变量固定的精度打印吗?如果用户需要输入小数点后几位四舍五入,如何解决?
#include <stdio.h>
int main()
{
int r;
double var = 37.66666;
scanf("%d", &r);
printf("%.2f", var);
return 0;
}
以下是适用于您的情况的简单方法:
你只需要在f之前加上*就可以了。
#include <stdio.h>
int main()
{
int r;
double var = 37.66666;
scanf("%d", &r);
printf("%.*f",r, var);
return 0;
}
您可以用 *
代替精度,在这种情况下,您可以指定 int
作为精度。
printf("%.*f", r, var);