Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Mathematical Functions : is_nan

is_nan

Finds whether a value is not a number (PHP 4 >= 4.2.0, PHP 5)
bool is_nan ( float val )


Code Examples / Notes » is_nan

vincent

Since NaN is not even equal to itself, here is a way to test it:
<?php
function my_is_nan($_) {
return ($_ !== $_);
}
?>


paul

See is_numeric if you have an older version of PHP than 4.20.  It should serve your purpose well.
If you're using PHP 3, you can use a regular expression:
function isNaN( $var ) {
    return ereg ("^[0-9\.]+$", $var);
}


nez

Paul, i guess better would be:
function isNaN( $var ) {
    return ereg ("^[-]?[0-9]+([\.][0-9]+)?$", $var);
}


darkangel

nan/"not a number" is not meant to see if the data type is numeric/textual/etc..
NaN is actually a set of values which can be stored in floating-point variables, but dont actually evaluate to a proper floating point number.
The floating point system has three sections: 1 bit for the sign (+/-), an 8 bit exponent, and a 23 bit fractional part.
There are rules governing which combinations of values can be placed into each section, and some values are reserved for numbers such as infinity. This leads to certain combinations being invalid, or in other words, not a number.


sku

Hi nez,
better would be:
function isNaN( $var ) {
    return !ereg ("^[-]?[0-9]+([\.][0-9]+)?$", $var);
}
ys, Sku


Change Language


Follow Navioo On Twitter
abs
acos
acosh
asin
asinh
atan2
atan
atanh
base_convert
bindec
ceil
cos
cosh
decbin
dechex
decoct
deg2rad
exp
expm1
floor
fmod
getrandmax
hexdec
hypot
is_finite
is_infinite
is_nan
lcg_value
log10
log1p
log
max
min
mt_getrandmax
mt_rand
mt_srand
octdec
pi
pow
rad2deg
rand
round
sin
sinh
sqrt
srand
tan
tanh
eXTReMe Tracker