我找到了有趣的格式来打印非终止的固定长度字符串,如下所示:
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)