尝试制作一个小脚本来计算基数递增值2%。 我认为,我处理浮点问题的方式有问题。 脚本应该计算每个数字到预设值,但它只是无限地继续。
require 'bigdecimal'
def multiplication sum, count
print "Original Sum: #{sum}\n"
until sum == 100 do
float = BigDecimal('1.02')
next_sum = (sum * float.round(3))
print "#{count}: #{next_sum}\n"
count += 1
sum = next_sum
end
end
multiplication 2, 1
答案 0 :(得分:4)
您的脚本正在循环,直到sum正好为100,如果它从较小的值跳转到较大的值,则可能不会发生。将循环条件更改为:
until sum >= 100 do
此外,"浮点整数"这是一个矛盾。