【发布时间】:2015-11-12 03:15:48
【问题描述】:
我需要使用 python 将假分数转换为带分数,甚至将浮点数转换为带分数。我的代码如下:
from fractions import Fraction
numerator = int(input("Enter numerator ") )
denominator = int(input("Enter denominator ") )
num = numerator / denominator
num = Fraction(num)
print(num)
如果输入是 5 和 4,则输出是 '5/4' 而不是混合数。
【问题讨论】:
-
如果您只是问,因为您正在寻找一种方法来以更易于人类理解的方式表示精确的非整数(例如,没有浮点不准确),同时仍然精确地存储它们,您可以考虑使用
Decimal()来代替fractions.Fraction(),或者除了fractions.Fraction()。没错,你不会“看到”说 2 的平方根的确切精度,但我相信你将能够存储确切的值,并且你可以使用其他方法精确地四舍五入到你想要的任何数字, 用于显示。