Python float() 函数及代码示例

将一个数值或字符串转换为浮点(Float)

定义

class float([x])

将x转化为浮点数(Float),x如果是空,则返回0.0

参数

参数类型参数名称参数描述
string,intx待转化的数值或字符串

返回值

如果x字符串,则他必须包含十进制的数,前面可以有空格或者符号,比如 '+' 和 '-'。

字符串必须符合以下规则:

sign           ::=  "+" | "-"
infinity       ::=  "Infinity" | "inf"
nan            ::=  "nan"
numeric_value  ::=  floatnumber | infinity | nan
numeric_string ::=  [sign] numeric_value

示例

r = float()
print(r)  # 无参数,返回0.0

r = float('+3.1415')
print(r)  # 3.1415

r = float('   -31415\n')
print(r)  # 有空格和换行  -31415.0

r = float('1e-004')
print(r)  # 科学计数 0.0001

r = float('+1E7')
print(r)  # 10000000.0

r = float('-Infinity')
print(r)  # -inf 负无穷

r = 0 * float('inf')
print(r)  # nan是非数字

执行结果为 :

0.0
3.1415
-31415.0
0.0001
10000000.0
-inf
nan

普通 Python 对象 x,float(x) 会委托给 x.__float__()。 如果 __float__() 未定义则将回退至 __index__()

class Hello:

    def __float__(self):
        return 100.00

    def __index__(self):
        return 101


r = float(Hello())
print(r)  # 分别输出100.00,101.00
delattr(Hello, "__float__")  # 删除__float__
r = float(Hello())
print(r)

执行结果为 :

100.0
101.0