相关疑难解决方法(0)

printf浮点数的可变小数位数

我找到了有趣的格式来打印非终止的固定长度字符串,如下所示:

char newstr[40] = {0};
sprintf(newstr,"%.*s",  sizeof(mystr), mystr);
Run Code Online (Sandbox Code Playgroud)

所以我想也许在printf命令下有一种打印浮点数的方法......

"%8.2f"

能够选择整数的小数位数.

像这样的东西:

sprintf(mystr, "%d %f", numberofdecimals, floatnumbervalue)
Run Code Online (Sandbox Code Playgroud)

编辑 - 解决方案:(
用于将浮点数舍入和清除到所需精度).

int precision = 2;  
char kolf[16] = {0};  
sprintf(kolf, "%8.*f", precision, mystruct.myfloat);  
float kol = atof(kolf);  
Run Code Online (Sandbox Code Playgroud)

c printf

22
推荐指数
2
解决办法
3万
查看次数

标签 统计

c ×1

printf ×1