PYTHON is_numeric

is this article helpful?
|
Python replacement for PHP's is_numeric [ edit | history ]
def is_numeric(obj):
    if isinstance(obj, numbers.Number):
        return True
    elif is_string(obj):
        nodes = list(ast.walk(ast.parse(obj)))[1:]
        if not isinstance(nodes[0], ast.Expr):
            return False
        if not isinstance(nodes[-1], ast.Num):
            return False
        nodes = nodes[1:-1]
        for i in range(len(nodes)):
            if i % 2 == 0:
                if not isinstance(nodes[i], ast.UnaryOp):
                    return False
            else:
                if not isinstance(nodes[i], (ast.USub, ast.UAdd)):
                    return False
        return True
    else:
        return False

or
Works for "1e100" or "0xFF" kinda numbers too


See is: http://www.php2python.com/wiki/function.is-int/

PHP is_numeric

PHP original manual for is_numeric [ show | php.net ]

is_numeric

(PHP 4, PHP 5)

is_numeric Finds whether a variable is a number or a numeric string

Description

bool is_numeric ( mixed $var )

Finds whether the given variable is numeric. Numeric strings consist of optional sign, any number of digits, optional decimal part and optional exponential part. Thus +0123.45e6 is a valid numeric value. Hexadecimal notation (0xFF) is allowed too but only without sign, decimal and exponential part.

Parameters

var

The variable being evaluated.

Return Values

Returns TRUE if var is a number or a numeric string, FALSE otherwise.

Examples

Example #1 is_numeric() examples

<?php
$tests 
= Array(
        
"42"
        
1337
        
"1e4"
        
"not numeric"
        Array(), 
        
9.1
        
);

foreach(
$tests as $element)
{
    if(
is_numeric($element))
    {
        echo 
"'{$element}' is numeric"PHP_EOL;
    }
    else
    {
        echo 
"'{$element}' is NOT numeric"PHP_EOL;
    }
}
?>

See Also

  • ctype_digit() - Check for numeric character(s)
  • is_bool() - Finds out whether a variable is a boolean
  • is_null() - Finds whether a variable is NULL
  • is_float() - Finds whether the type of a variable is float
  • is_int() - Find whether the type of a variable is integer
  • is_string() - Find whether the type of a variable is string
  • is_object() - Finds whether a variable is an object
  • is_array() - Finds whether a variable is an array