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
我喜欢第一个版本,因为哈希是根据需要构建的,而不是先初始化然后再构建。