假设我有一个方法:
def calculate(alpha, beta)
# do stuff
end
如何确保在调用calculate(1.0,2.0)
时它始终将参数视为小数而不是浮点数或整数?
答案 0 :(得分:4)
如果您正在寻找可以作为BigDecimal处理的params,您可以使用以下内容:
require 'bigdecimal'
require 'bigdecimal/util'
def calculate(alpha, beta)
alpha_bigdec = alpha.to_d
beta_bigdec = beta.to_d
end
答案 1 :(得分:1)
Ruby标准库中有BigDecimal
类
def calculate(alpha, beta)
alpha = BigDecimal.new alpha
beta = BigDecimal.new beta
# rest of method here
end
然后,您可以参考BigDecimal documentation查看可以使用哪些方法对其进行操作。我能想到的一些问题包括to_s
,to_i
,to_r
,add
,sub
等。