python成绩转换_在python中,如何使用整数算术将分数转换为浮点数?

本文介绍如何在Python中使用`fractions`模块进行精确的有理数运算,并演示了如何通过`decimal`模块实现高精度浮点数计算。通过实例展示了将分数转换为浮点数和Decimal对象的方法,以及累加分数列表的过程。
摘要由CSDN通过智能技术生成

你的意思是这样的:from fractions import Fraction

import decimal

decimal.getcontext().prec = 50

fractions = [(1,7), (2,3), (22,7), (7001,7), (9,3), (611951,611953), (1,11),(1,7689585)]

su=Fraction(0)

for i, t in enumerate(fractions,1):

f=Fraction(*t)

su+=Fraction(*t)

d=decimal.Decimal(f.numerator) / decimal.Decimal(f.denominator)

print '{} becomes {}'.format(t,f)

print '\tfloat of that is: {}'.format(float(f))

print '\tDecimal: {}'.format(d)

print '\t{} elements cum sum of the list: {}\n'.format(i,su)

印刷品:

^{pr2}$

fraction模块允许您使用有理数(无需转换为float)。一旦你把它们放进分数班,你就可以用它们做算术了(就像在小学里一样)

像这样:>>> Fraction(1,3) + Fraction(3,4)

Fraction(13, 12)

>>> Fraction(1,3) + Fraction(1,6)

Fraction(1, 2)

>>> Fraction(1,2).numerator

1

>>> Fraction(1,2).denominator

2

Fraction模块是默认Python发行版的一部分(从2.6版开始)。在

要将其转换为浮点,请执行float(Fraction(17,18))或在十进制类变量中使用Fraction.numerator和{}进行任意精度转换。在

是这样的:>>> decimal.Decimal(su.numerator) / decimal.Decimal(su.denominator)

Decimal('1008.186144047968368606384293')

或者:>>> float(su.numerator) / su.denominator

1008.1861440479684

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值