在 Python 中,float()是一个内置函数,用于将字符串、整数或其他数字类型转换为浮点数类型。

函数语法

float(x)

参数:

  • x:要转换为浮点数的对象;可以是一个字符串、整数、浮点数或其他数字类型;

如果参数是字符串,则它必须是包含十进制数字的字符串,字符串前面可以有符号,之前也可以有空格;

float() 函数示例

将字符串转换为浮点数:

str_num = "3.14"
float_num = float(str_num)
print(float_num)  # 输出 3.14

除了将字符串转换为浮点数类型之外,float()函数还可以将其他数字类型转换为浮点数类型,如下所示:

# 将整数转换为浮点数
int_num = 42
float_num = float(int_num)
print(float_num)  # 输出 42.0

# 将其他数字类型转换为浮点数
complex_num = 1 + 2j
float_num = float(complex_num)
print(float_num)  # 抛出TypeError异常,因为复数不能转换为浮点数类型

无穷大

参数也可以是正负无穷大的字符串;例如,infInfINFINITYiNfINity都可以表示正无穷大。

float('-Infinity') #负无穷大

__float__()

如果参数是一个对象,float(x)会调用x.__float__(),如果x未定义__float__(),则调用__index__()

class c1:
    def __float__(self):
        return 0.01

class c2:
    def __index__(self):
        return 0

x1 = c1()
x2 = c2()

print(float(x1),float(x2)) #输出 0.01 0.0