asnumber

emlib.misc.asnumber(obj, accept_fractions=True, accept_expon=False)[source]

Return obj as number, or None of it cannot be converted to a number

Return type:

int | float | Fraction | None

Example

>>> asnumber(1)
1
>>> asnumber("3.4")
3.4
>>> asnumber("1/3", accept_fractions=True)
Fraction(1, 3)
>>> asnumber("hello") is None
True