Python float() 函数及代码示例
将一个数值或字符串转换为浮点(Float)
定义
class float([x])
将x转化为浮点数(Float),x如果是空,则返回0.0
参数
参数类型 | 参数名称 | 参数描述 |
---|---|---|
string,int | x | 待转化的数值或字符串 |
返回值
如果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