我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python3如何实现除法结果为整数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python3如何实现除法结果为整数

这篇文章主要介绍了python3如何实现除法结果为整数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

问题描述

101/100,想要的结果是1,但是算出来的结果是1.01

解决方案

101 // 100

结果图

python3如何实现除法结果为整数

补充:python2 与 3:一般除法、除法取整、除法取余、精确减法与精确除法

python2

python2除法

python2的除法,与c语言除法类似,两个整数相除结果一定是整数,除数与被除数有一个是浮点数,结果就是浮点数。因此当两个整数相除,结果又有小数时,由于结果是整数,所以小数部分会被省略,针对这种情况,要实现真正的除法,除数与被除数至少有一个应改为浮点数。(貌似python2.7开始,除法和python3除法一样了,没有仔细考究)

a = 3b = 2print a/bprint float(a)/bprint a/float(b)print float(a)/float(b)# 结果11.51.51.5

python2除法取整

加一个int(),进行强制类型转换即可。

a = 4.5b = 3print a/bprint int(a/b)# 结果1.51

python2除法取余

利用%操作即可。

a = 5.5b = 3print a % b# 结果2.5

python3

python3除法

python3的除法就直接使用"/",就可以了,不存在python2的情况

a = 3b = 2print(a/b)# 结果1.5

python3除法取整

利用"//"操作a = 5.5b = 2print(a//b)# 结果2.0

python3除法取余

利用"%"操作

a = 5.5b = 2print(a%b)# 结果1.5

python3精确减法与精确除法

我们先看看下面的输出

a = 0.9b = 1print(b-a)print((b-a)/100)print((0.1)/100)# 结果0.099999999999999980.00099999999999999980.001

python计算要把数字先转为二进制,因为浮点数以二进制形式表示时的有穷性(利用乘K取余法,0.9的二进制无限延展),会导致计算误差。下面摘自python文档原话。

On most machines today, floats are approximated using a binary fraction with the numerator using the first 53 bits starting with the most significant bit and with the denominator as a power of two.

这不是只有python才有的bug,也不是你代码的bug,所有的编程语言都会有这个问题,当然可能很多编程语言会使用某些机制来规避这种显示。回到该blog的例子,0.9的二进制表示如下:

0.1110011001100110011001100110011001100110011001100110011

1-0.9的二进制表示为:

0.0001100110011001100110011001100110011001100110011001100

转化过来就是0.09999999999999998

这时候为了实现精确运算,可以使用类decimal。

import decimaldecimal.getcontext().prec = 10 # 取小数点后精度到第10位a = 0.9b = 1print(decimal.Decimal(b)-decimal.Decimal(a))print((decimal.Decimal(b)-decimal.Decimal(a))/100)print((0.1)/100)# 结果0.10000000000.00100000000.001

当然,直接使用近似函数round()也是可以的。

a = 0.9b = 1print(round(b-a, 10))print(round((b-a)/100, 10))print(round((0.1)/100, 10))# 结果0.10.0010.001

感谢你能够认真阅读完这篇文章,希望小编分享的“python3如何实现除法结果为整数”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python3如何实现除法结果为整数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python3如何实现除法结果为整数

这篇文章主要介绍了python3如何实现除法结果为整数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题描述101/100,想要的结果是1,但是算出来的结果是1.01解决方案
2023-06-14

php如何实现两数相除取整

这篇文章主要为大家分析了php如何实现两数相除取整的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“php如何实现两数相除取整”的知识吧。php实现两数相除取整
2023-06-28

vbs如何实现myipneighbors域名查询结果整理

本篇内容介绍了“vbs如何实现myipneighbors域名查询结果整理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!碰到虚拟机的时候,还是
2023-06-08

如何在Golang中实现除法取整操作

Golang是一种开源编程语言,广泛应用于Web应用程序和分布式系统开发。在Golang中,实现除法取整可以通过两种方式来完成,一种是使用整除运算符,另一种是使用math包中的Floor函数。使用整除运算符Golang中的整除运算符为/,
如何在Golang中实现除法取整操作
2024-01-29

mysql如何实现合并结果集并去除重复值

本篇内容介绍了“mysql如何实现合并结果集并去除重复值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mysql 合并结果集并去除重复值SE
2023-07-04

在java项目中如何实现将字符串转换为整数

这篇文章给大家介绍在java项目中如何实现将字符串转换为整数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。java中字符串转整数 该题虽然和我们正常使用的字符串转整数的API中函数不一致,但是通过增加了很多
2023-05-31

Java数据结构之AC自动机算法如何实现

本篇内容主要讲解“Java数据结构之AC自动机算法如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java数据结构之AC自动机算法如何实现”吧!1 概念和原理一般的字符串匹配算法都是匹配一
2023-07-04

Python中如何实现MySQL数据库查询结果的分页显示?(在Python中,如何对MySQL查询结果进行分页处理?)

在Python中对MySQL查询结果进行分页,可用以下方法:使用MySQLLIMIT和OFFSET子句使用Python切片操作符使用SQLAlchemy分页对象使用Django分页器
Python中如何实现MySQL数据库查询结果的分页显示?(在Python中,如何对MySQL查询结果进行分页处理?)
2024-04-02

如何通过递归方法实现用json-diff渲染json字符串对比结果

JsonDiff是一个高性能json差异发现工具,它几乎可以发现任何JSON结构的差异,并且将错误信息反馈给用户,下面这篇文章主要给大家介绍了关于如何通过递归方法实现用json-diff渲染json字符串对比结果的相关资料,需要的朋友可以参考下
2022-12-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录