printf float,尾随零的数量为变量

时间:2014-12-14 20:02:28

标签: c formatting printf

printf("%.2f",..);

我想控制上面例子中的数字2,输入一个变量而不是数字2.

所以,如果

int var=5;

printf的参数将是"%。5f"。

有可能吗?感谢。

2 个答案:

答案 0 :(得分:5)

这应该适合你:

测试它的一个小例子程序:

#include <stdio.h>

int main() {

    float f = 4.3234;
    int x = 2;

    printf("%.*f", x, f);

    return 0;

}

有关详细信息,请参阅:http://www.cplusplus.com/reference/cstdio/printf/

答案 1 :(得分:-1)

检查

int main(int argc, char* argv[])
{
    char format[16];
    int  number;

    number = 5;

    snprintf(format, sizeof(format), "%%.%df", number);
    printf("%s\n", format);
    return 0;
}