class Numeric
Numeric
extensions
Public Instance Methods
floor_precision(precision)
click to toggle source
@return self, truncated to a given precision
@example
x = 0.12345 x.floor_precision(0) => 0.0 x.floor_precision(1) => 0.1 x.floor_precision(2) => 0.12 x.floor_precision(3) => 0.123
# File lib/sixarm_ruby_ramp/numeric.rb, line 52 def floor_precision(precision) return self if is_a?(Float) && nan? (self * (10 ** precision)).truncate.fdiv(10 ** precision) end
if(flag)
click to toggle source
@return 0 if the given flag is any of: nil, false, 0, [], {}
@example
3.if(true) => 3 3.if(false) => 0
# File lib/sixarm_ruby_ramp/numeric.rb, line 13 def if(flag) if [nil,false,0,[],{}].include?(flag) then 0 else self end end
percent(ndigits=0)
click to toggle source
@return self as a percent, i.e. * 100 then call round.
@example
x = 0.12345 x.percent => 12 x.percent(1) => 12.3 x.percent(2) => 12.34 x.percent(-1) => 10
# File lib/sixarm_ruby_ramp/numeric.rb, line 38 def percent(ndigits=0) (self * 100).round(ndigits) end
unless(flag)
click to toggle source
@return self if flag is nil, false, 0, [], {}; otherwise return 0.
@example
3.unless(true) => 0 3.unless(false) => 3
# File lib/sixarm_ruby_ramp/numeric.rb, line 24 def unless(flag) if [nil,false,0,[],{}].include?(flag) then self else 0 end end