class Numeric
def percent_of(n)
self.to_f/n.to_f * 100.0
end
end
numbers = [ 0.683789473684211, 0.678958333333333 ]
min_max = {min: numbers.min, max: numbers.max}
puts "%<min>f is #{min_max[:min].percent_of(min_max[:max])} of %<max>f" % min_max
这个方案有意见的,因为它显示的最小数量是最大数量的百分比,并显示数字。
如果您使用%d
作为String#format
方法,您将显示0。也许这就是你所说的,不确定。
编辑:使用minmax建议。
class Numeric
def percent_of(n)
self.to_f/n.to_f * 100.0
end
end
numbers = [ 0.683789473684211, 0.678958333333333 ]
min_max = Hash.new
min_max[:min], min_max[:max] = numbers.minmax
puts "%<min>f is #{min_max[:min].percent_of(min_max[:max])} of %<max>f" % min_max
我喜欢第一个版本,因为散列是根据需要构建的,而不是初始化和然后构建的。
在伪代码中:如果a>(b * 1.25)然后//做某事'做你需要的吗? – 2013-07-21 04:14:19