如何在C中将1692.75转换为1.69e + 03?

时间:2013-10-12 14:25:11

标签: c casting

我刚刚开始,我不知道如何将浮点形式更改为指数形式。

5 个答案:

答案 0 :(得分:2)

float是一个float,除了在内存中的二进制表示之外没有其他表示。但您可以更改将其打印到控制台的方式。

这可以通过在printf函数中指定它来完成。 见printf

您需要的是printf("%.2e",myfloat)

答案 1 :(得分:1)

这两个“数字”只是格式化两种不同方式的相同浮点数的结果。不涉及数字转换或转换。

答案 2 :(得分:1)

如果您担心内部代表 - 请不要担心,这一切都在幕后。

如果您打算以所需格式打印x = 1692.75,请使用printf("%2.2e\n", x);

答案 3 :(得分:0)

他们是同一件事。

如果您想打印,请参阅printf的手册页

答案 4 :(得分:0)

您不必更改float的内部表示形式,它是二进制的,与您在打印值时看到的内容无关。

如果您只想打印浮动,可以使用printf系列函数:

printf("%e", 1692.75);

应该这样做。