python中关于小数转分数
python中用于分数计算的模块是fractions,本篇博客内容来自官网:fractions — 分数
文章目录
- 一、fraction的基本用法
1、float类型引号引起来
2、limit_denominator(max_denominator
- 二、如何避免浮点数(float)和有理数转化“失真”
1、实例化
2、获取分子和分母
一、fraction的基本用法
1、实例化
Fraction(numerator=0, denominator=1),其中numerator是分子,denominator是分母。并且能够单独接受“有理数”、float、decimal和string类型的数字。
示例如下:
- >>> from fractions import Fraction
- #第一个数是分子,第二个数是分母
- >>> Fraction(2,6)
- Fraction(1, 3)
- #可以直接进行四则运算,如果最后的结果以分数(有理数)显示,可以直接使用Fraction类型计算,不必和float来回转换
- >>> Fraction(2,6)*Fraction(1,4)
- Fraction(1, 12)
- >>> Fraction(2,6)/Fraction(1,4)
- Fraction(4, 3)
- # 0的表示
- >>> Fraction(0)
- Fraction(0, 1)
如果分数没有被引号引起来,就会当作float类型处理,就会出现偏差,原因可参考python控制小数位数和四舍五入问题详解
- >>> Fraction('2/3')
- Fraction(2, 3)
- >>> Fraction(2/3)
- Fraction(6004799503160661, 9007199254740992)
- #直接Fraction(1.1)得不到我们想要的11/10结果
- >>> Fraction(1.1)
- Fraction(2476979795053773, 2251799813685248)
- >>> Fraction('1.1')
- Fraction(11, 10)
2、获取分子和分母
示例:
- >>> from fractions import Fraction
- >>> Fraction(3,6).numerator
- 1
- >>> Fraction(3,6).denominator
- 2
二、如何避免浮点数(float)和有理数转化“失真”
1、float类型引号引起来
正如上面的示例,float类型如果引起来,可以有效避免失真。
- >>> Fraction('1.1')
- Fraction(11, 10)
- >>> Fraction(1.1)
- Fraction(2476979795053773, 2251799813685248)
2、limit_denominator(max_denominator)
max_denominator默认值是1000000,这个函数用于返回一个分母不大于max_denominator且最接近原值的分数,示例如下:
- >>> from math import pi
- >>> Fraction(pi)
- Fraction(884279719003555, 281474976710656)
- >>> Fraction(pi).limit_denominator(1000)
- Fraction(355, 113)
- >>> Fraction(pi).limit_denominator()
- Fraction(3126535, 995207)
- #也能用于一些浮点数到有理数的“期望”转化
- >>> Fraction(1.1).limit_denominator()
- Fraction(11, 10)
原文链接:https://blog.csdn.net/u012949658/article/details/105837120
http://www.taodudu.cc/news/show-5979209.html
相关文章:
- 【小数化成分数方法+最大公约数化简分数】HDU-1717 小数化分数2
- python爬图片显示不了_Python爬取网页中的图片(搜狗图片)详解
- UE4打包成APK的详细教程(普通安卓应用,VR全景应用尚在探索中,之后若解决会更新)
- “韭零后”都是这样看基金的!!!
- 【深度学习】基于caffe的表情识别(二):数据集介绍及处理
- MATLAB【数字图像处理】 大作业:人脸表情识别
- Markdown笔记:痛苦与挣扎
- SEO初级|网站结构优化—URL地址规范化
- UML的结构
- 探索网站的目录结构
- 南京大学计算机夏博士,夏思宇
- python程序编写应注意哪些问题_用 Python 写爬虫时应该注意哪些坑?
- 合肥耀之阳电商:店铺运营需要注意哪些相关事项
- 四川玖益科技:新店运营的注意事项
- 拼多多新手开店指南及注意事项|一度智信
- 一度智信:新手需要掌握的电商店铺前期运营注意事项
- 榆熙教育:拼多多开店注意事项,商家必看规则
- 拼多多新手卖家选品要注意什么?
- 四川玖益科技:开店的注意事项分析
- eBay账号防关联的注意事项
- 耀之阳电商:店铺推广的注意事项
- 新手站长做网站优化注意事项
- 拼多多开店注意事项,海昇智:商家需注意
- 艾司博讯:拼多多新店前期运营注意事项
- Shopee新店铺如何通过孵化期?孵化期新手任务及注意事项
- 东南亚跨境电商讲解,Shopee上架商品的注意事项,这六条不能违反
- 做跨境电商前:新人必须要了解的注意事项,这三点很重要
- 新手购买数码相机的十点建议
- 亚马逊店铺注册注意事项,亚马逊无货源模式的到来会成为热门吗?
- 店铺标题优化的注意事项
python中关于小数转分数相关推荐
- 将python中的小数直接进位的函数_python保留小数位的三种实现方法
python保留小数位的三种实现方法 前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单 ...
- python中保留小数_python保留小数位的三种实现方法
前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法: 方法一:fo ...
- python中的小数_Python中的浮点数和小数
简介 float类型,即浮点数,是Python内置的对象类型:decimal类型,即小数类型,则是Python的标准库之一decimal提供的对象类型,也是内置的.了解decimal类型的最佳资料,就 ...
- python中小数_比较python中的小数
你的措辞表明你想用货币计算,但要注意你的舍入误差.小数是一个很好的选择,因为它们在与其他小数进行加法.减法和乘法运算时会产生精确的结果. 奇怪的是,您的示例显示使用分数"1/3". ...
- python中小数_如何在Python中乘以小数
在Python 3 input中将返回一个字符串.这基本上等同于Python 2中的raw_input.因此,您需要在执行任何计算之前将该字符串转换为数字.并准备好"输入错误"(即 ...
- python中带有小数的字符串如何转化为数字_python中,如何将字符串转换为数字(将数字转换为整型),字符串的10转换为整型的10,10.5转换为10...
说明: 在实际的应用过程中,有的时候可能会遇到字符串的10,需要将字符串的10转换为数字的10 在此记录下,通过int函数转换的过程. 操作过程: 1.将字符串转换为整型的10 >>> ...
- python分数约分_分数如何在python中可以直接声明吗?
我们知道如果小数点后面的字数过长,我们会进行保留小数点后位数的操作.但是这样会在精准度上有所差别,当然我们也可以通过分数也避免小数点保留所带来的不精准性.不过分数在python中还不能直接使用的,需要 ...
- python中round函数的精度保留方法---四舍六入五成双
当我们利用python进行数据计算时,通常会对浮点数保留相应的位数,这时候就会用到round函数,相信各位朋友在进行使用时会遇到各种问题,关于round函数保留精度.保留方法的问题,本文会进行详细的解 ...
- 小数乘分数怎么算过程_小数乘以分数公开课教学设计
如何让学生在现实情景中体会和理解数学理念,丰富练习形式,加强计算与实际的应用联系,培养学生应用数学的意识和能力呢,以下是小编整理的<小数乘以分数公开课教学设计>,供您阅读,参考.希望对您有 ...
最新文章
- 小脚本,统计一个目录下满足特定条件文件的代码行数
- 素数与量子物理的结合能带来解决黎曼猜想的新可能吗?
- 心累了,就笑一笑,学会爱自己
- 谁说子网掩码的1必须连续?关于像255.255.0.255这样的非连续子网掩码
- 以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...
- XML数据的分页显示
- javascript dom节点x
- 烦人的Facebook分享授权
- 对于redis底层框架的理解(一)
- leetcode1020. 飞地的数量(dfs)
- STM32那点事(5)_ADC(下)
- android 布局完成,Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享...
- 【PAT甲】1007 Maximum Subsequence Sum (25分),求最大字段和及区间
- Metasploit应用举例
- ESP8285 sdkconfig
- 无法打开计算机的组策略,本地组策略编辑器打不开?Win7本地组策略编辑器无法打开的解决方法...
- melp算法matlab,svpwm过调制算法研究与实现 [MELP声码器的算法研究及实现]
- 求职技巧:网投简历如何才能做到最抢眼
- 如何使用决策树判断要不要去相亲?
- F5 LTM1600 HA