将数字打印到可变小数位数

时间:2014-11-10 13:25:02

标签: c

我想在C中打印一个可变小数位数的数字。 我写了代码

#include<stdio.h>
main()
    {   int a;
        printf("Upto which number of decimal places you want to print value of '2.554648' ?");
        scanf("%d", &a);
        printf("Value of '2.554648 upto %d number of decimal places = %.af", a, 2.554648);
        return 0;
    }

2 个答案:

答案 0 :(得分:6)

使用printf()中的*标记您想要的小数位数:

#include <stdio.h>

int main(void)
{
    int a;

    printf("Upto which number of decimal places you want to print value of '2.554648' ?");
    scanf("%d", &a);
    printf("Value of '2.554648 upto %d number of decimal places = %.*f", a, a, 2.554648);

    return 0;
}

答案 1 :(得分:3)

您需要*格式说明符。这是一个简短的例子(参见ideone):

#include <stdio.h>

int main(void) {
    int a = 5;
    double temp = 5.0 / 7;
    printf("%.*f",a, temp);
    return 0;
}