asnumber

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

Convert obj to a number or None if it cannot be converted

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