python(62):保留两位小数[通俗易懂]

python(62):保留两位小数[通俗易懂]转载:https://blog.csdn.net/jiandanjinxin/article/details/77752297在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分)。例如

大家好,又见面了,我是你们的朋友全栈君。

转载:https://blog.csdn.net/jiandanjinxin/article/details/77752297

在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分)。

例如 int a=15/10; a的结果为1。

同样的在Java中也是如此,所以两个int型的数据相除需要返回一个浮点型数据的时候就需要强制类型转换,例如 float a = (float)b/c ,其中b、c都是int型数据。

Python中分为3种除法:传统除法、精确除法、地板除。

传统除法

如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法

  >>>1/2  
    0  
  >>>1.0/2.0  
    0.5  

精确除法

除法总是会返回真实的商,不管操作数是整形还是浮点型。

执行from future import division 指令就可以做到这一点。

# -*- coding: UTF-8 -*-
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
>>>1/2
0.5
>>>1.0/2.0
0.5

地板除

从Python2.2开始,增加了一个操作符 // ,以执行地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

>>>1//2 
0 
>>>1.0//2 
0 
>>>-1//2.0
-1 

内建函数divmod()

divmod (a,b),返回(a//b,a%b) 

>>>divmod(1,2)  
(0,1)  
>>>divmod(3.14159,1.5)  
(2.0,0.4159000000000002)  
>>>5+6j//3+2j  
2+0j  
>>>5+6j%3+2j  
-1+2j  
>>>divmod(5+6j,3+2j)  
((2+0j),(-1+2j))  

保留两位小数

In [1]: a = 5.026

In [2]: b = 5.000

In [3]: round(a,2)
Out[3]: 5.03

In [4]: round(b,2)
Out[4]: 5.0

In [5]: '%.2f' % a
Out[5]: '5.03'

In [6]: '%.2f' % b
Out[6]: '5.00'

In [7]: float('%.2f' % a)
Out[7]: 5.03

In [8]: float('%.2f' % b)
Out[8]: 5.0

In [9]: from decimal import Decimal

In [10]: Decimal('5.026').quantize(Decimal('0.00'))
Out[10]: Decimal('5.03')

In [11]: Decimal('5.000').quantize(Decimal('0.00'))
Out[11]: Decimal('5.00')

当需要输出的结果要求有两位小数的时候,字符串形式的:’%.2f’ % a 方式最好,其次用Decimal

round(a,2)
'%.2f' % a
Decimal('5.000').quantize(Decimal('0.00'))
a = 1
b = 3
print(a/b)
#方法一:
print(round(a/b,2))
#方法二:
print(format(float(a)/float(b),'.2f'))
#方法三:
print ('%.2f' %(a/b))

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155934.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 也说周鸿祎[通俗易懂]

    也说周鸿祎[通俗易懂]
 最早听说周鸿祎是在林锐的《大学十年》的那篇妙文里。应该是2001年。第一次看完林锐的回忆,觉得这个家伙是个人物,可他居然对周鸿祎服贴得不得了,可见周的确不是一个一般人。没过多久,有媒体开始关注3721了。那个时候,3721还没到过街老鼠人人喊打的时候,一度攻城掠地,风管无限。记得3721最开始吸引眼球的就是和Realname的一场口水大战…

    2022年7月26日
    5
  • !大部分程序员只会写3年代码

    !大部分程序员只会写3年代码如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写3年代码,恐怕就没有程序员这种职业。

    2022年5月7日
    44
  • Java零基础好学吗?Java该怎么学?

    Java零基础好学吗?Java该怎么学?Java零基础好学吗?Java该怎么学?在IT行业中,Java开发工程师是一个很吃香的职业,薪资水平也是几乎过万,许多人想转行Java开发,但又担心零基础能不能学会,学起来有多难,如果是零基础自学Java的话是比较困难的,学Java难不难取决于学习方法的选择和努力程度。今天就来讲讲Java零基础好学吗?Java该怎么学?Java学习路线:第一阶段:Java基础语法内容:运行环境、关键字、数据类型、运算符、方法、条件结构、循环结构、方法重载、数组。第二阶段:面向对象和封装内容:面向对象、thi

    2022年7月7日
    21
  • 更新kali源「建议收藏」

    更新kali源「建议收藏」新安装的kali系统,在进行软件下载升级的时候会使用kali官方源去下载,在国内访问会比较慢,更换为国内源后,会提升下载速度。1、打开kali源文件sudovim/etc/apt/sources.list

    2022年5月24日
    36
  • Android 代码混淆配置总结[通俗易懂]

    Android 代码混淆配置总结[通俗易懂]一、前言为何需要混淆呢?简单的说,就是将原本正常的项目文件,对其类,方法,字段,重新命名,a,b,c,d,e,f…之类的字母,达到混淆代码的目的,这样反编译出来,结构乱糟糟的,看了也头大。另外说明

    2022年7月1日
    28
  • 软件测试相关知识_软件测试期末考试知识点

    软件测试相关知识_软件测试期末考试知识点软件测试是软件生存周期中必不可少的环节,软件的典型生存周期可以用下图来形容:软件测试的目的是尽可能早的发现软件缺陷并确保其得以修复,因此软件测试是提高软件质量的重要手段,大量的经验实践证明,软件测试越早参与到软件开发过程中,开发出来的软件质量相对越高,时间和物力也越经济。根据软件工程的基本理论,多模块程序的测试共包括以下4个层次:…

    2022年9月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号