Has anyone run into the interesting effect that isnum() thinks that "NaN" is a number?
So
isnum("NaN") is true
"NaN" * 2 = "NaN"
but
tonumber("NaN") is NULL
Are there any other odd, uh, numbers besides Not a Number? I made up the following silly query as an illustration:
| makeresults
| eval num="blubb;NaN;100;0.5;0,5;-0;NULL;"
| makemv delim=";" allowempty=true num
| mvexpand num
| eval isnum=if(isnum(num),"true","false")
| eval isint=if(isint(num),"true","false")
| eval isnull=if(isnull(num),"true","false")
| eval calcnum=num*2
| eval isnumcalcnum=if(isnum(calcnum),"true","false")
| eval isnullcalcnum=if(isnull(calcnum),"true","false")
| eval numnum=tonumber(num)
| eval isnumnum=if(isnum(numnum),"true","false")
| eval isnullnumnum=if(isnull(numnum),"true","false")
| table num,isnum,isint,isnull,calcnum,isnumcalcnum,isnullcalcnum,numnum,isnumnum,isnullnumnum
which results in
num
isnum
isint
isnull
calcnum
isnumcalcnum
isnullcalcnum
numnum
isnumnum
isnullnumnum
blubb
false
false
false
false
true
false
true
NaN
true
false
false
NaN
true
false
false
true
100
true
true
false
200
true
false
100
true
false
0.5
true
false
false
1
true
false
0.5
true
false
0,5
false
false
false
false
true
false
true
-0
true
true
false
-0
true
false
-0
true
false
NULL
false
false
false
false
true
false
true
false
false
false
false
true
false
true
(Post moved over from the Splunk Enterprise group.)
... View more