"1. $"是什么意思?

Fáb*_*niz 5 c++ visual-studio-2010 visual-c++

我在Visual C++ 2010中使用cout打印变量,它显示"1. $".这是什么意思?

谷歌不允许搜索,$所以我找不到意思.

编辑:

代码是这样的:

double func(...);

std::cout << func(...);
Run Code Online (Sandbox Code Playgroud)

我没有修改cout的默认值

Mar*_*ork 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";
}
Run Code Online (Sandbox Code Playgroud)

这应该打印:

1.#INF
1.#QNAN
1.$
1.$
Run Code Online (Sandbox Code Playgroud)

编辑:

来自@ZoogieZork的评论如下(谁指出这是一个精确的问题).
这与此直接相关:浮点错误-1.#J是什么意思?

  • 我认为你已经把它钉上了 - 1.#INF`当"四舍五入"到一位小数时可能最终为`1. $`因为`$`比一个字符高一个字符,同样的方式`1.#INF`最终为`1.#J`:http://stackoverflow.com/questions/840081/what-does-floating-point-error-1-j-mean (5认同)