《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
相关文章
|
6月前
|
Python
277: 程序设计C 实验二 题目五 统计二进制数中的1的个数(python)
277: 程序设计C 实验二 题目五 统计二进制数中的1的个数(python)
|
6月前
|
Python
557: 程序设计C 实验四 题目三 字符串交叉插入(python)
557: 程序设计C 实验四 题目三 字符串交叉插入(python)
|
6月前
|
Python
使用python统计字符串中字母个数的函数程序设计
要统计Python字符串中的字母,首先就应该要判断出这些字符为字母,那该如何判断呢?我们可以将该字符串通过Python内置的字符串方法upper()来全部转换为大写,然后通过for循环来遍历该字符串,每次迭代过程中都使用isupper()方法来判断该字符是否为大写。这样就可以避免将字符串中的中文统计在内。我们首先来通过一个实例来了解isupper()方法的用法,如下:
81 2
|
3月前
|
数据处理 Python
Python 中的类型转换
【8月更文挑战第29天】
33 3
|
3月前
|
存储 程序员 Python
深入探讨Python中的变量和类型转换
【8月更文挑战第20天】
42 0
|
4月前
|
人工智能 数据挖掘 大数据
爆赞!GitHub首本标星120K的Python程序设计人工智能案例手册
为什么要学习Python? Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Pytho
|
4月前
|
分布式计算 NoSQL 物联网
麻省理工IOT教授撰写的1058页Python程序设计人工智能实践手册!
Python是世界上最流行的语言之一,也是编程语言中使用人数增长最快的一种。 开发者经常会很快地发现自己喜欢Python。他们会欣赏Python的表达力、可读性、简洁性和交互性,也会喜欢开源软件开发环境,这个开源环境正在为广泛的应用领域提供快速增长的可重用软件基础。 几十年来,一些趋势已经强有力地显现出来。计算机硬件已经迅速变得更快、更便宜、更小;互联网带宽已经迅速变得越来越大,同时也越来越便宜;优质的计算机软件已经变得越来越丰富,并且通过“开源”方式免费或几乎免费;很快,“物联网”将连接数以百亿计的各种可想象的设备。这将导致以快速增长的速度和数量生成大量数据。 在今天的计算技术中,最新的创新
|
4月前
|
分布式计算 NoSQL 物联网
麻省理工IOT教授撰写的1058页Python程序设计人工智能实践手册!
Python是世界上最流行的语言之一,也是编程语言中使用人数增长最快的一种。 开发者经常会很快地发现自己喜欢Python。他们会欣赏Python的表达力、可读性、简洁性和交互性,也会喜欢开源软件开发环境,这个开源环境正在为广泛的应用领域提供快速增长的可重用软件基础。
|
5月前
|
人工智能 数据挖掘 大数据
538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。 此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。 尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智
|
5月前
|
Python
刷题——Python篇(2)类型转换
刷题——Python篇(2)类型转换
下一篇
无影云桌面