ObjectPascal
IsNaN
Function
Checks to see if a floating point number holds a real number Math unit
 function IsNaN ( const Float : Single | Double | Extended ) : Boolean;
Description
The IsNaN function returns True if the Float parameter is Not a number.
 
A floating point number can be set to such a value when it is assigned an undetermined value. The standard is :
 
NAN = 0.0 / 0.0
Related commands
Infinity Floating point value of infinite size
IsInfinite Checks whether a floating point number is infinite
NaN Not a real number
 
Example code : Assign NAN to a number and then test using IsNaN
var
  float : Double;

begin
  // Set the number to an invalid number
  float := NAN;     // Equivalent to 0.0/0.0

  // Although an invalid number, we can still display it
  WriteLn('float = '+FloatToStr(float));

  // And we can test to see if it is a valid number
  if IsNaN(float)
  then WriteLn('float is not a number')
  else WriteLn('float = '+FloatToStr(float));
end;
Show full unit code
   float = NAN
   float is not a number