以非科学计数法打印 float 或 double
Posted
技术标签:
【中文标题】以非科学计数法打印 float 或 double【英文标题】:Print float or double in non scientific notaion 【发布时间】:2013-05-04 04:31:25 【问题描述】:如果位数为 7 或更多,浮点数或双精度数总是以科学计数法给出答案。就像一个十进制数 10000000.5
它给了 1e-08
一些东西。我想知道我们是否可以在不添加任何新头文件的情况下打印10000000.5
。
【问题讨论】:
你是如何打印号码的? 我正在尝试使用 cout 进行打印。 【参考方案1】:如果您要打印到cout
,请使用
std::cout.setf( std::ios::fixed, std::ios::floatfield );
See it work.
您可能还希望std::cout.precision(1)
设置小数点后的位数。
【讨论】:
【参考方案2】:printf("%.1f", someFloat)
应该为您执行此操作,如果您想要一位十进制数字。如果你想要n
十进制数字,那么使用%.nf
【讨论】:
要清楚,%nf
中的 n
不是文字 n
。如果位数是可变的,可以使用printf("%.*f", n, someFloat)
是的,这只是一个例子......我希望我能够在答案中说清楚......谢谢
谢谢。这个太有用了以上是关于以非科学计数法打印 float 或 double的主要内容,如果未能解决你的问题,请参考以下文章
解决GSON转Long型变为科学计数法或整形变double的问题(自动转换成Double类型