《Python语言程序设计》——2.11 类型转换和四舍五入-阿里云开发者社区

开发者社区> 华章出版社> 正文

《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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接