ConsoleWrite(IsNumber(Number("")) & @CRLF) ; = 1
ConsoleWrite(IsNumber(Number("1")) & @CRLF) ; = 1
ConsoleWrite(IsNumber(Number("0")) & @CRLF) ; = 1
ConsoleWrite(IsNumber(Number("a")) & @CRLF & @CRLF) ; = 1
It all return one
Global $aArray[4] = ["0", "1", "a", ""]
For $v = 0 To 3 ; it's only true with the "1", so it does what you need, hence, good =)
ConsoleWrite( (IsNumber(Number($aArray[$v])) And Number($aArray[$v]) <= 10 And Number($aArray[$v]) <> 0) & @CRLF)
Next
Exit
But you're looking for an int greater than zero, so it's all good
== School time ==
Number: Returns the numeric representation of an expression IsNumber: Checks if a variable's base type is numeric.
So, Number returns a 0 or a 1, both integers. And you ask is IsNumber(), and that is what Number() returns, so, this logic goes nowhere fast.
But then you ask: are you less than ten and not a zero ? and the answer is what you expected.
What @mikell presented:
Global $aArray[4] = ["0", "1", "a", ""]
For $v = 0 To 3 ; it's only true with the "1", so it does what you need, hence, good =)
;~ ConsoleWrite( (IsNumber(Number($aArray[$v])) And Number($aArray[$v]) <= 10 And Number($aArray[$v]) <> 0) & @CRLF)
ConsoleWrite( ( $aArray[$v] > 0 And $aArray[$v] <= 10 ) & @CRLF) ; @mikell
Next
is what you need.