我如何决定我的浮点数应该使用多少小数。看到我有这个代码`
int main (void)
{
printf("please give me an integer: ");
float num = GetFloat();
float numb;
numb = num;
numb = numb /2;
printf("the half of %f is %f\n", num, numb);
}
但计算机在
之后打印出很多零EKS:
请给我一个整数: 4
4.000000的一半是2.000000
所以它可能很像3位小数而不是7位数:
请给我一个整数: 10
请给我一个整数: 3
10.0的一半是5.00
3.00的一半是1.50
答案 0 :(得分:1)
您必须使用printf
格式参数:
int main (void)
{
printf("please give me an integer: ");
float num = GetFloat();
float numb;
numb = num;
numb = numb /2;
printf("the half of %.3f is %.3f\n", num, numb);
return 0;
}
在示例中,语法%.3f
告诉printf
打印3位小数。
答案 1 :(得分:1)
您也可以始终使用%g
格式说明符。它使用f
或e
格式格式化浮点数,具体取决于有效位数。
int main (void) {
printf("Please give me a floating point number: ");
// Read the value from the user.
float num;
scanf("%f", &num);
// Compute it's half.
float half = num /2;
// Display the result.
printf("The half of %f is %g\n", num, half);
}
答案 2 :(得分:0)
这是printf的格式类型
%[flags][width][.precision][length]specifier
在这种情况下,您应该拥有此printf("the half of %.3f is %.3f\n", num, numb);