是否可以在C中的小数点后打印具有用户定义精度的浮点数?

时间:2014-02-27 17:27:11

标签: c floating-point-precision

我想在C中小数点后打印出一个用户定义精度的浮点数,比如说,

int dec;
float no;
printf("\nEnter no of decimal places and the number ");
scanf("%d%f",&dec,&no);

然后打印no号,小数点dec

2 个答案:

答案 0 :(得分:1)

您可以格式化浮点数的打印,但不能格式化其实际大小。

您可以在格式化浮点数时阅读this

为节省您的时间,您可以使用%f格式说明符

printf("%.PRECISIONf", fvar);

其中PRECISION是小数点后所需的位数,例如

int 
print_float(float fvar, unsigned int precision) {
  char fs[32];
  sprintf(fs,"%%.%df", precision);
  return printf(fs, fvar);
}

在调用例程时:

print_float(2.0f, 2);

你将获得2.00作为输出。

希望这能解决您的问题。

答案 1 :(得分:0)

待办事项

int dec;
float no;
printf("\nEnter no of decimal places and the number ");
scanf("%d%f",&dec,&no);
printf("%.*f",dec,no);