Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "1.$" mean?

I'm printing a variable using cout in Visual C++ 2010 and it shows "1.$". What does it mean?

Google does not allow searches with $ so I couldn't find the meaning.

EDIT:

The code is like this:

double func(...);

std::cout << func(...);

I haven't modified cout's defaults

like image 631
Fábio Diniz Avatar asked Apr 04 '11 17:04

Fábio Diniz


1 Answers

Its an infinite value with the precision set small:

#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";
}

This should print:

1.#INF
1.#QNAN
1.$
1.$

Edit:

From @ZoogieZork in the comments below (who pointed out that it was a precision problem).
This is directly related to this: What does floating point error -1.#J mean?

like image 54
Martin York Avatar answered Sep 19 '22 14:09

Martin York