c++ printf float - 如何以编程方式指定精度?

use*_*931 2 c++ printf

printf("float: %.3f", myvar);在点后打印 3 位数字的 myvar。但是,如果我要打印的位数是动态的并在 int 变量中指定,我该怎么做呢?

Mik*_*CAT 11

您可以在要打印的数据之前使用%.*f并添加该int值。

#include <cstdio>

int main(void) {
    double myvar = 3.141592653589;
    for (int i = 0; i < 10; i++) {
        printf("float: %.*f", i, myvar);
        putchar('\n');
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)