我在Visual C ++ 2010中使用cout打印变量,它显示“1. $”。这是什么意思?
Google不允许使用$
进行搜索,因此无法找到其含义。
编辑:
代码是这样的:
double func(...);
std::cout << func(...);
我没有修改cout的默认值
答案 0 :(得分:11)
它是一个无穷大的值,精度设置很小:
#include <iostream>
#include <limits>
int main()
{
std::cout << std::numeric_limits<double>::infinity() << "\n";
std::cout << std::numeric_limits<double>::quiet_NaN()() << "\n";
std::cout << std::setprecision(2) << std::numeric_limits<double>::infinity() << "\n";
std::cout << std::setprecision(2) << std::numeric_limits<double>::quiet_NaN() << "\n";
}
这应该打印:
1.#INF
1.#QNAN
1.$
1.$
来自@ZoogieZork的评论如下(谁指出这是精确问题) 这与此直接相关:What does floating point error -1.#J mean?
答案 1 :(得分:-2)
$在C ++中没有特殊含义。
您正在打印包含$。
的字符串