如何在C++中正确地打印一个双引号给对方
问题描述:
我在发帖之前查看了一些问题,但找不到我要找的内容,所以如果是重复的,我很抱歉。如何在C++中正确地打印一个双引号给对方
我有这样的代码:
cout << "The balance at year " << i << " will be " << char(156) << std::setprecision(2)
<< balance << endl;
据我所知,这应该打印到控制台类似:
£2.00
£100.46
*仅供参考上面只是一个例子,我知道有什么建议那些数字,但格式应该是这样的,对吧?
但这里是我的输出:
£1e+002
£1.1e+002
为什么这样做呢?
这是我的理解,使用setprecision
将显示2位小数,仅此而已。
哦,也注意到几乎没有关于打印双打提到使用setprecision
实际上指出,这需要包括任何疑问:
#include <iomanip>
答
使用std::fixed
来设置固定格式,而不是科学记数法。
cout << "The balance at year " << i << " will be " << char(156) << std::setprecision(2) << std::fixed << balance << endl;
答
做这样的:
cout << "The balance at year " << i << " will be " << char(156) << std::setprecision(2) << std::fixed << balance << endl;
您可以通过简单地写保存自己的一些评论:'双平衡= 100.46;'了'cout'前行。在C++中,像''这样的头文件可以被其他标准头文件包含在内,所以显式使用通常是不必要的。您正在假设ISO 8859-1或8859-15代码集;这在短期内是可以的,但也可以知道它可能会在以后造成麻烦。 –
2013-03-27 14:29:53
感谢您的评论,但我简化了示例代码,以便我不张贴不相关的东西,但没有它不像设置双等于一个数字,然后只是打印那么简单。 – AngryDuck 2013-03-27 14:33:18
我的双倍数值即时打印输出是计算的结果,所以它需要将其长度固定在打印上 – AngryDuck 2013-03-27 14:34:12