Ruby 中的浮点整数
Floating point integers in Ruby
尝试制作一个小脚本来计算基数递增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
您的脚本一直循环直到总和恰好为 100,如果它从一个较小的值跳转到一个较大的值,则可能不会发生这种情况。将循环条件更改为:
until sum >= 100 do
还有,"floating point integer"是个自相矛盾的说法。
尝试制作一个小脚本来计算基数递增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
您的脚本一直循环直到总和恰好为 100,如果它从一个较小的值跳转到一个较大的值,则可能不会发生这种情况。将循环条件更改为:
until sum >= 100 do
还有,"floating point integer"是个自相矛盾的说法。