3.1.3 数据类型的相互转换

有时候,用户需要对数据内置的类型进行转换。数据类型的转换只需要将数据类型作为函数名即可。以下几个内置的函数可以执行数据类型之间的转换,这些函数返回一个新的对象,表示转换的值。

1.转换为整数类型

语法格式如下:

    int(x)

将x转换为一个整数,例如:

    >>>int(3.6)
    3

注意:int()函数不能转换非数字类型的数值。例如使用int()函数转化字符串时,将会提示ValueError错误:

    >>> int("苹果")
    Traceback (most recent call last):
      File "<pyshell#2>", line 1, in <module>
        int("苹果")
    ValueError: invalid literal for int() with base 10: '苹果'

2.转换为小数类型

语法格式如下:

    float(x)

将x转换为一个浮点数。例如:

    >>> float (10)
    10.0

3.转换为字符串类型

语法格式如下:

    str(x)

将x转换为一个字符串。例如:

    >>>str(12356789)
    '12356789'

【例3.3】模拟超市的抹零结账行为(源代码\ch03\3.3.py)。

假设超市为顾客提供结账便利,进行抹零操作。这里使用int()函数将浮点型的变量转化为整数,从而实现抹零效果。本案例还会用到str()函数,主要作用是将数字转化为字符串类型。代码如下:

    price=8.66                                #保存顾客需要结算的商品单价
    moneys=price*20                           #计算商品的总价格
    print("商品的总价是:"+ str(moneys))
    real_moneys=int(moneys)                   #进行抹零操作
    print("本次实付商品的总价是:"+ str(real_moneys))

程序运行结果如图3-3所示。

图3-3 程序运行结果