gpt4 book ai didi

ruby - 如何将分数化简为带分数

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:39 24 4
gpt4 key购买 nike

我有一个名为 value 的变量。该值被转换为 Rational 对象。我需要将它化简为带分数。我想知道如何简化分数。例如,我想将 513/16 转换为 32 1/16

我的代码是这样的:

value = ...
value = value.to_r #=> (1/12)

最佳答案

据我所知,有理数会将自己存储为numerator/denominator。但是你可以制作一个简化的 to_s 方法来按照你想要的方式格式化它。

试试这个:

class Rational

def to_simplified_s
if self < 1
to_s
else
truncated = self.truncate
"#{truncated} #{self - truncated}"
end
end

end

puts Rational(1, 2).to_simplified_s
puts Rational(513, 16).to_simplified_s

打印:

1/2
32 1/16

关于ruby - 如何将分数化简为带分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307807/

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