c - 在 C 中格式化 double ,如 xxxxE+xx

标签 c formatting double

如何格式化像 12345.0 这样的 double 以将其打印为 1.234E+04? 我想打印这样的东西:

int N = 1024;
int time = 3476;
printf("%f", (N/time));

输出为:3.394531E+00

最佳答案

您可以对变量使用 float 或将某些变量转换为浮点类型,如下所示:

printf("%f", ((float)N/time));

如果您希望数字始终采用科学记数法 http://www.cplusplus.com/reference/cstdio/printf/您可以将格式替换为“%e”。

值得注意的是,对于所有 f F e E g G a Aprintf 默认要求 double

关于c - 在 C 中格式化 double ,如 xxxxE+xx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47413842/

相关文章:

c - 如何解决 MISRA C :2012 Rule 11. 6?

c - (x % y) 和 (x & (y-1)) 等价吗?

c - 什么是 _ALPHA_ 宏?(Windows 设备驱动程序)

c - 为什么格式化输入输出需要提供变量?

c# - 将文本框中的文本格式化为百分比

将字符转换为整数并将它们添加到 C 中

javascript - localtime.js 不适用于 ajax 之后创建的元素

C++ 设置 double (不用于输出)

parsing - 使用 tryparse 添加两个值

java - ArrayList 选择双变量时遇到麻烦 'Method call expected'