gpt4 book ai didi

python - 如何在 Python 中使用 x DP 将分数写为十进制?

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:49 25 4
gpt4 key购买 nike

我正在寻找的是一种将 python Fraction() 类型写出到任意小数位的方法。我查看了分数和小数的 python 文档,但我看不到任何转换或写出分数的方法。

所以我要找的是一些打印出来的方法

Fraction(5, 7)

作为

0.7142857142857142857142857142857142857142857142857142

代替

>> float(Fraction(5, 7))
0.7142857142857143

指定 DP 的数量。

最佳答案

您可以使用 Decimal 获得任意精度类。

from fractions import Fraction
from decimal import localcontext, Decimal

def print_fraction(f, digits):
assert(f.imag == 0)

# Automatically reset the Decimal settings
with localcontext() as ctx:
ctx.prec = digits
print(Decimal(f.numerator) / Decimal(f.denominator))

f = Fraction(5, 7)
print_fraction(f, 52)

这将打印 0.7142857142857142857142857142857142857142857142857143

关于python - 如何在 Python 中使用 x DP 将分数写为十进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11154954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com