详解float函数类型转换
发布时间:2025-09-29 11:04:57
函数描述
float([x]) 函数将数字或数字字符串的表示形式转换为等效的符号浮点数。如果参数x是一个字符串(十进制表示的数字串),则可以在数字前添加一个符号来表示正数或负数。符号和数字之间不能有空间,但在符号前后允许有空间。
如果参数 x 如果是整数或浮点数,则返回等效的浮点数; x 超出了 float 造成类型范围 OverflowError 错误。
如果参数 x 如果缺少,就返回 0.0
如果参数 x 是普通的Python对象,float([x]) 返回是调用 x.__float __() 结果。
兼容性
Python2.x
Python3.x
注意点
1. 这个函数有一个特殊的地方,就是用infinity或inf来表示无限的数字。比如+inf是正无限大,-inf是负无限大。这里介绍了无限的数学概念,那么无限乘以0是什么意思呢?这里等于nan,也就是not a number(不是一个数字)
2. 可以省略参数x
英文文档
Returnafloatingpointnumberconstructedfromanumberorstringx. Iftheargumentisastring,itshouldcontainadecimalnumber,optionallyprecededbyasign,andoptionallyembedded inwhitespace.Theoptionalsignmaybe'+'or'-';a'+'signhasnoeffectonthevalueproduced.Theargumentmay alsobeastringrepresentingaNaN(not-a-number),orapositiveornegativeinfinity.
代码实例
>>>float('+123') 123.0 >>>float('+1.23') 1.23 >>>float('-12345\n') -12345.0 >>>float('1e-003') 0.001 >>>float('+1E6') 1000000.0 >>>float('-Infinity') -inf >>>float('inf') inf >>>float('-inf') -inf >>>float('+inf') inf >>>float('nan') nan >>>float('+nan') nan >>>float('-nan') nan >>>float() 0.0
代码实例
classC: def__init__(self,score): self.score=score def__float__(slef): return1.0 c=C(100) f=float(c) print(f)
运行结果
1.0