【问题标题】:printf float with number of trailing zeros as variable [duplicate]printf float,尾随零的数量作为变量[重复]
【发布时间】:2014-12-14 20:02:28
【问题描述】:
printf("%.2f",..);

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

如果

int var=5;

printf 的参数将是“%.5f”。

有可能吗?谢谢。

【问题讨论】:

    标签: c formatting printf


    【解决方案1】:

    这应该适合你:

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

    #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/

    【讨论】:

      【解决方案2】:

      检查一下

      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;
      }
      

      【讨论】:

      • Rizier123 的答案更好,但这并没有错。这可能是一种糟糕的风格,因为你可以按照 Rizier123 的建议去做。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-11
      • 2010-09-21
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多