精度修正器作为C中的变量

时间:2013-09-02 21:28:22

标签: c

在我的程序中,用户输入他在输出中需要的小数位数。我将此输入保存为deci。如何将此变量 deci 用作精度修改器?

样品: 输入一个数字:23.6788766 输入小数位数:2 产量:23.67

3 个答案:

答案 0 :(得分:13)

如果是C,你可以这样做:

float floatnumbervalue = 42.3456;
int numberofdecimals = 2;
printf("%.*f", numberofdecimals, floatnumbervalue);

答案 1 :(得分:3)

在C中,例如将6位数的默认精度更改为8:

int precision = 8;

printf("%.*f\n", precision, 1.23456789);

precision参数必须是int类型。

答案 2 :(得分:2)

您可以使用*修饰符,如下面的维基百科示例所述:

  

printf(“%* d”,5,10)将导致打印“10”,总宽度为5个字符,并且将产生printf(“%。* s”,3,“abcdef”)在“abc”中打印。

http://en.wikipedia.org/wiki/Printf_format_string