我在 Visual C++ 2010 中使用 cout 打印一个变量,它显示“1.$”。什么意思?
Google 不允许使用 $
进行搜索,因此我无法找到其含义。
编辑:
代码是这样的:
double func(...);
std::cout << func(...);
我没有修改 cout 的默认值
最佳答案
它是一个无穷大的值,精度设置得很小:
#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?
关于c++ - "1.$"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5541975/