我想控制打印浮点数时小数点后打印的位数。
该功能将n
作为输入。
例如,如果我有double F = 123.456789
,并且:
123.46
123.457
123.4567890000
答案 0 :(得分:3)
你可以这样做:
printf("%.2lf\n", F);
printf("%.3lf\n", F);
printf("%.10lf\n", F);
如果您想控制它,可以使用*
修饰符作为占位符。
int n;
double F = 123.456789;
scanf("%d", &n);
printf("%.*lf\n",n, F);
答案 1 :(得分:2)
这应该适合你:
#include <stdio.h>
int main() {
int n = 2;
double number = 123.456789;
printf("%.*lf", n, number);
return 0;
}
输出:
123.46
答案 2 :(得分:0)
使用格式说明符。例子:
%.4f (print as a floating point with a precision of four characters after the decimal point)
%3.2f (print as a floating point at least 3 wide and a precision of 2)
请阅读:http://www.codingunit.com/printf-format-specifiers-format-conversions-and-formatted-output