From: Lightmage on
Hello all,

I am using C++ to convert a certain file into an XML file. During the
conversion the program does some arithmetic operations on the
information that is then outputted in xml format. The information is
a double variable.

Usually the output is exactly what it should be, but every so often
the output is "-1.#J".

"-1.#I" (thats an i) means the value is infinite right?
So does anyone know what "-1.#J" means?

I am using Microsoft Visual Studio .NET 2002.
What out of range numerical outputs does this compiler produce?

As soon as I know what the "J" means I will know what to look for in
my code and should be able to fix it.

Thank you very much!
~LM
From: Ben Voigt [C++ MVP] on

"Lightmage" <lm.sasavi(a)gmail.com> wrote in message
news:4bc3297b-ff67-4af0-9b08-77db171b23a5(a)b64g2000hsa.googlegroups.com...
> Hello all,
>
> I am using C++ to convert a certain file into an XML file. During the
> conversion the program does some arithmetic operations on the
> information that is then outputted in xml format. The information is
> a double variable.
>
> Usually the output is exactly what it should be, but every so often
> the output is "-1.#J".
>
> "-1.#I" (thats an i) means the value is infinite right?
> So does anyone know what "-1.#J" means?

It might be an underflow. I would strongly suggest calling the _isnan and
_fpclass functions defined in float.h to get more information.

>
> I am using Microsoft Visual Studio .NET 2002.
> What out of range numerical outputs does this compiler produce?
>
> As soon as I know what the "J" means I will know what to look for in
> my code and should be able to fix it.
>
> Thank you very much!
> ~LM