当我使用这个时:
printf("%e", 2000.0);
我得到输出2.000000e+003
这是正确的,但非常丑陋。然后我尝试这样:
printf("%.1e", 2000.0);
输出 2.0e+003
这要好得多。问题是如何删除指数中的 2 个填充零,以便输出为 2.0e+3
。有具体的printf
还是我必须手动编写一个函数来分析 float 并按照我想要的方式打印它(我不想这样做)?
最佳答案
printf 的标准 C 功能不提供任何控制指数位数的方法。如果您想要不同的格式,则必须编写自己的代码或从其他地方获取代码。
(%a
转换确实仅根据需要使用指数中尽可能多的数字,但它以十六进制打印该值。)
关于c - 停止 printf 填充指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57942829/