《Python语言程序设计》——2.11 类型转换和四舍五入

简介:

本节书摘来自华章计算机《Python语言程序设计》一书中的第2章,第2.11节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.11 类型转换和四舍五入

关键点:如果算术运算符的操作数之一是浮点数,那么结果就是浮点数。
你能否对两个不同类型的数据进行二元运算?答案是肯定的。如果一个整数和一个浮点数同时参与到一个二元运算中,那么Python会自动将整数转化为浮点值。这被称为类型转换。所以34.5和3.04.5是相同的。
有时候,希望获取小数的整数部分。你可以使用int(value)函数来返回一个浮点值的整数部分。例如:


<a href=https://yqfile.alicdn.com/8a23c163458fb0dd9e35f63676ea2b47edf79ad1.png
" >

注意:小数部分被舍掉了而没有进位。
你也可以使用round函数对数字进行四舍五入将之转为最近的整数。例如:

<a href=https://yqfile.alicdn.com/7cdcf4e90ef89a6eec1cb41123be18da1adb45f2.png
" >

我们将在第3章更多地讨论round函数。
注意:函数int和round不会改变要转换的变量。例如:在下面代码中,调用函数后value并没有改变。

<a href=https://yqfile.alicdn.com/7cd6e75963185f03d2426d3e7e11915b17417394.png
" >

注意:函数int也可以用于将整数字符串转换为整数。例如:int("34")返回34。所以,你可以使用函数eval或int将字符串转换为整型。哪个会更好些?int函数完成一个简单的转换。它不能用于非整型字符串。例如:int("3.4")将导致错误。函数eval可以完成比简单转换更多的功能。它可以用于计算表达式。例如:eval("3+4")返回7。然而,使用函数eval有一个微妙的“疑难杂症”。如果数字串前有先导零会使eval函数产生错误。相对地,int函数可以很好地处理这个问题。例如:eval("003")会导致错误,而int("003")会返回3。
程序清单2-6给出一个显示保留小数点后两位的营业税的程序。
程序清单2-6 SalesTax.py

<a href=https://yqfile.alicdn.com/dc1b2c7fc91bf2abe7526340f09b0055f89cb68a.png
" >

变量purchaseAmount的值是197.55(第2行)。营业税是销售额的6%,所以计算出的tax是11.853(第5行)。注意:


7d58928327dd716559be431e1bdc271d92e82bec

所以,第8行的语句显示保留小数点后两位的税款11.85。
检查点
2.17 当数据从浮点型转化为整型时,小数点后的部分怎么处理?int(value)函数会改变变量value吗?
2.18 下面的语句都正确么?如果是,给出它们的结果。


dd5fee4617798bf4819630db72feb617d8e20530


0022817bae5f668c3ee915b66257fde8792a692f
相关文章
|
4月前
|
Python
使用python统计字符串中字母个数的函数程序设计
要统计Python字符串中的字母,首先就应该要判断出这些字符为字母,那该如何判断呢?我们可以将该字符串通过Python内置的字符串方法upper()来全部转换为大写,然后通过for循环来遍历该字符串,每次迭代过程中都使用isupper()方法来判断该字符是否为大写。这样就可以避免将字符串中的中文统计在内。我们首先来通过一个实例来了解isupper()方法的用法,如下:
49 2
|
7月前
|
Python Windows
Python程序设计实例 | 带图标的exe可执行文件的打包
* 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。
86 0
|
28天前
|
存储 程序员 C++
【Python 基础教程 03 类型转换】从隐式到显式:全面理解Python数据类型转换的超详细初学者入门教程
【Python 基础教程 03 类型转换】从隐式到显式:全面理解Python数据类型转换的超详细初学者入门教程
48 0
|
1月前
|
安全 Python
Python-类型转换
Python-类型转换
18 3
|
6月前
|
数据安全/隐私保护 Python
python之用户登录程序设计
python之用户登录程序设计
|
3月前
|
Python
Python高级专题 - 类型转换的魔术方法
Python高级专题 - 类型转换的魔术方法
21 1
|
7月前
|
Python
Python程序设计实例 | 列表
* 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。
132 0
Python程序设计实例 | 列表
|
4月前
|
索引 Python
Python 列表查找元素位置的高级函数代码程序设计
Python中,要查找list列表中元素的位置,即元素在列表中的索引位置,可以使用list列表类型内置的方法index(),但这个并不能直接使用,因为要考虑到查找的元素可能并不存在于list列表之中,而使用index()方法查找列表中并不存在的元素,Python将抛出ValueError,程序也可能因此终止,为了避免这种情况
40 3
|
4月前
|
前端开发 Python
Python 教程之变量(5)—— Python中的类型转换
Python 教程之变量(5)—— Python中的类型转换
58 0
|
4月前
|
存储 量子技术 Python
通过示例了解 Python 数字和类型转换|Python 主题月
通过示例了解 Python 数字和类型转换|Python 主题月
42 1

热门文章

最新文章