iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python3 实现除法结果为整数
  • 956
分享到

python3 实现除法结果为整数

2024-04-02 19:04:59 956人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

问题描述 101/100,想要的结果是1,但是算出来的结果是1.01 解决方案 101 // 100 结果图 补充:python2 与 3:一般除法、除法取整、除法取余、精确减

问题描述

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

解决方案

101 // 100

结果图

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

python2

Python2除法

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


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

python2除法取整

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


a = 4.5
b = 3
print a/b
print int(a/b)
# 结果
1.5
1

python2除法取余

利用%操作即可。


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

python3

python3除法

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


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

python3除法取整


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

python3除法取余

利用"%"操作


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

python3精确减法与精确除法

我们先看看下面的输出


a = 0.9
b = 1
print(b-a)
print((b-a)/100)
print((0.1)/100)
# 结果
0.09999999999999998
0.0009999999999999998
0.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 decimal
decimal.getcontext().prec = 10 # 取小数点后精度到第10位
a = 0.9
b = 1
print(decimal.Decimal(b)-decimal.Decimal(a))
print((decimal.Decimal(b)-decimal.Decimal(a))/100)
print((0.1)/100)
# 结果
0.1000000000
0.0010000000
0.001

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


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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: python3 实现除法结果为整数

本文链接: https://www.lsjlt.com/news/121776.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • python3 实现除法结果为整数
    问题描述 101/100,想要的结果是1,但是算出来的结果是1.01 解决方案 101 // 100 结果图 补充:python2 与 3:一般除法、除法取整、除法取余、精确减...
    99+
    2024-04-02
  • python3如何实现除法结果为整数
    这篇文章主要介绍了python3如何实现除法结果为整数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题描述101/100,想要的结果是1,但是算出来的结果是1.01解决方案...
    99+
    2023-06-14
  • PHP 精准除法取整数结果
    php中除法运算符(/)默认进行浮点除法,若需取商的整数结果,可使用以下方法:floor()函数:向下舍入整数(例:floor(10.5) = 10)ceil()函数:向上舍入整数(例:...
    99+
    2024-04-09
    php 整数除法
  • python3整数反转的实现方法
    给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1...
    99+
    2024-04-02
  • c语言怎么让除法结果为小数
    在 c 语言中要得到除法小数结果,需要将一个操作数转换为浮点数。方法有两种:1. 使用浮点运算符 /,将整数强制转换为浮点数;2. 将除数或被除数转换为浮点数。 如何让 C 语言中的除...
    99+
    2024-05-13
    c语言
  • PHP如何实现除法取整数
    这篇文章主要介绍PHP如何实现除法取整数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方案解决目标:对一个数进行除法取整数1.round — 对浮点数进行四舍五入float roun...
    99+
    2024-04-02
  • Python3除法中真除法、截断除法和下取整对比的实例分析
    这篇文章给大家介绍Python3除法中真除法、截断除法和下取整对比的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python3除法之真除法、截断除法和下取整对比有伙伴留言想看关于Python3中不同种除法取整...
    99+
    2023-06-02
  • python3美化表格数据输出结果的实现代码
    技术背景 在前面一篇博客中我们介绍过关于python的表格数据处理方案,这其中的工作重点就是对表格类型的数据进行梳理、计算和展示,本文重点介绍展示这个方面的工作。首先我们看一个案例,...
    99+
    2024-04-02
  • 十大排序算法总结(Python3实现)
    目录   一、概述 二、算法简介及代码展示 1.冒泡排序 2.简单选择排序 3.简单插入排序 4.堆排序 5.快速排序 6.希尔排序 7.归并排序 8.计数排序 9.桶排序 10.基数排序 11.#代码说明 三、感悟总结 排序算法大概是...
    99+
    2023-01-31
    十大 算法
  • Golang中实现除法取整的方法
    Golang中除法取整的实用方法 在编程语言中,除法运算是非常常见的运算之一。然而,在某些情况下,我们可能希望得到整数除法的结果,而不是默认的浮点数除法结果。在Golang中,有几种方法可以实现这一点。本文将...
    99+
    2024-01-29
    整数除法取整方法
  • vbs如何实现myipneighbors域名查询结果整理
    本篇内容介绍了“vbs如何实现myipneighbors域名查询结果整理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!碰到虚拟机的时候,还是...
    99+
    2023-06-08
  • php如何实现两数相除取整
    这篇文章主要为大家分析了php如何实现两数相除取整的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“php如何实现两数相除取整”的知识吧。php实现两数相除取整...
    99+
    2023-06-28
  • MySQL怎么实现自动为查询数据结果加序号
    这篇文章主要介绍“MySQL怎么实现自动为查询数据结果加序号”,在日常操作中,相信很多人在MySQL怎么实现自动为查询数据结果加序号问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2023-01-04
    mysql
  • mysql实现合并结果集并去除重复值
    目录mysql 合并结果集并去除重复值mysql 合并结果集(union,union all)union 与 union all 执行结果不同对UNION,UNION...
    99+
    2022-12-21
    mysql合并结果集 mysql去除重复值 mysql结果集 mysql重复值
  • C语言如何实现除法向上取整
    这篇文章将为大家详细讲解有关C语言如何实现除法向上取整,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。除法向上取整#define DIV_ROUND_UP(n,&...
    99+
    2024-04-02
  • 如何在Golang中实现除法取整操作
    Golang是一种开源编程语言,广泛应用于Web应用程序和分布式系统开发。在Golang中,实现除法取整可以通过两种方式来完成,一种是使用整除运算符,另一种是使用math包中的Floor函数。 使用整除运算符...
    99+
    2024-01-29
    Golang 取整 除法
  • php怎么实现需要取相除的整数
    在PHP中,如果需要取相除的整数,我们可以使用PHP内置函数 intdiv(),该函数可以在PHP7及更高版本中使用。在本文中,我们将探讨如何使用 intdiv() 函数以及如何在PHP5中模拟此功能。PHP7版本简介intdiv() 函数...
    99+
    2023-05-14
  • C++实现LeetCode(8.字符串转为整数)
    [LeetCode] 8. String to Integer (atoi) 字符串转为整数 Implement atoi which converts...
    99+
    2024-04-02
  • C++怎么实现字符串转为整数
    今天小编给大家分享一下C++怎么实现字符串转为整数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。String to Inte...
    99+
    2023-06-19
  • Python3实现旋转数组的3种算法
    下面是python3实现的旋转数组的3种算法。一、题目给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。例如:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步:...
    99+
    2023-01-31
    数组 算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作