2024-04-19 09:38:34 发布
网友
我需要把小数转换成分数,即使它被1除了。 我试着使用分数模块,但是它给出了,比如说,3而不是3/1,5而不是5/1等等,所以我想知道是否有任何可能得到这种分数使用分数模块或其他东西?你知道吗
您可以重写类的__str__,以获得您喜欢的行为:
__str__
import fractions class Fraction(fractions.Fraction): def __str__(self): return '{}/{}'.format(self.numerator, self.denominator) x = Fraction('6/2') print(x) x = Fraction('1.5') print(x)
输出:
$ python3 x.py 3/1 3/2
可以使用字符串格式来实现所需的内容。你知道吗
from fractions import Fraction no = Fraction(3, 1) str_no = "{0}/{1}".format(no.numerator, no.denominator) print(str_no)
这里有一个方法。你知道吗
使用is_digit检查小数点是否为整数,如果是,则在中添加/1。你知道吗
is_digit
/1
import fractions for v in [2.0, 0.1, 0.5, 1.5, 2.0 ]: if v.is_integer(): print('{} = {}/1'.format(v, fractions.Fraction.from_float(v))) else: print('{} = {}'.format(v, fractions.Fraction.from_float(v)))
2.0 = 2/1 0.1 = 3602879701896397/36028797018963968 0.5 = 1/2 1.5 = 3/2 2.0 = 2/1
您可以重写类的
__str__
,以获得您喜欢的行为:输出:
可以使用字符串格式来实现所需的内容。你知道吗
这里有一个方法。你知道吗
使用
is_digit
检查小数点是否为整数,如果是,则在中添加/1
。你知道吗输出:
相关问题 更多 >
编程相关推荐