Ruby中的浮点整数

时间:2015-01-30 23:35:23

标签: ruby math floating-point

尝试制作一个小脚本来计算基数递增值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

1 个答案:

答案 0 :(得分:4)

您的脚本正在循环,直到sum正好为100,如果它从较小的值跳转到较大的值,则可能不会发生。将循环条件更改为:

until sum >= 100 do

此外,"浮点整数"这是一个矛盾。