1

假设我有这样的方法:

def calculate(alpha, beta)
  # do stuff
end

我如何确保当我调用calculate(1.0,2.0)它时总是将参数视为小数而不是浮点数或整数?

4

2 回答 2

4

如果您正在寻找要作为 BigDecimal 处理的参数,您可以使用以下内容:

    require 'bigdecimal'
    require 'bigdecimal/util'

    def calculate(alpha, beta)
      alpha_bigdec = alpha.to_d
      beta_bigdec = beta.to_d
    end
于 2012-09-26T03:05:36.497 回答
1

BigDecimalRuby 标准库中有这个类

def calculate(alpha, beta)
  alpha = BigDecimal.new alpha
  beta = BigDecimal.new beta

  # rest of method here
end

然后,您可以参考BigDecimal 文档以查看可以使用哪些方法对其进行操作。我能想到的几个是,,,,,to_s等等。to_ito_raddsub

于 2012-09-26T03:00:43.863 回答