计算红宝石的百分比?

kru*_*hah 22 ruby

是否有任何方法可用于计算铁轨或红宝石的百分比?

编辑:

我正在寻找像...这样的功能

100000.percent(10)会回来的10000.

100000是值..(值是BigDecimal) 10 %..

result = 100000 * 10 / 100

result = 10000 ..

ran*_*guy 85

你的意思是这样的percentage = a/b*100

根据您的新说明进行更新:

class Numeric
  def percent_of(n)
    self.to_f / n.to_f * 100.0
  end
end

# Note: the brackets () around number are optional
p (1).percent_of(10)    # => 10.0  (%)
p (200).percent_of(100) # => 200.0 (%)
p (0.5).percent_of(20)  # => 2.5   (%)

pizza_slices = 5
eaten = 3
p eaten.percent_of(pizza_slices) # => 60.0 (%)
Run Code Online (Sandbox Code Playgroud)

基于Mladen的代码.

  • 你可以使用`:/`方法:`a.to_f.send(:/,b).send(:*,100)`此外,这个问题让我觉得``/` (47认同)
  • @randomguy:嘿,谢谢学分,很高兴能够获得如此大的认可!:O) (6认同)
  • @Mladen:感谢您的嘲讽。我需要它,众议院仍在休息。:< (2认同)
  • 我更喜欢说50.percent_of(200)=100。因此对于我的情况,`n.to_f * self.to_f / 100.0`可以工作。 (2认同)