Module | Numeric::Multipliers |
In: |
lib/facets/supplemental/facets/multipliers.rb
|
Adds methods to Numeric to make working with magnitudes (kilo, mega, giga, milli, micro, etc.)
1.kilo #=> 1000 1.milli #=> 0.001 1.kibi #=> 1024
To display a value in a certain denomination, simply perform the inverse operation by placing the multiplier called on unit (1) in the denominator.
(1000 / 1.kilo) #=> 1 (1024 / 1.kibi) #=> 1
Thanks to Rich Kilmer and bytes.rb which inspired this library.
# File lib/facets/supplemental/facets/multipliers.rb, line 43 def atto ; self.to_f / 1000000000000000000 ; end
SI Fractional
# File lib/facets/supplemental/facets/multipliers.rb, line 36 def deci ; self.to_f / 10 ; end
SI Multipliers
# File lib/facets/supplemental/facets/multipliers.rb, line 25 def deka ; self * 10 ; end
# File lib/facets/supplemental/facets/multipliers.rb, line 32 def exa ; self * 1000000000000000000 ; end
# File lib/facets/supplemental/facets/multipliers.rb, line 42 def femto ; self.to_f / 1000000000000000 ; end
SI Binary
# File lib/facets/supplemental/facets/multipliers.rb, line 47 def kibi ; self * 1024 ; end
# File lib/facets/supplemental/facets/multipliers.rb, line 40 def nano ; self.to_f / 1000000000 ; end
# File lib/facets/supplemental/facets/multipliers.rb, line 31 def peta ; self * 1000000000000000 ; end
# File lib/facets/supplemental/facets/multipliers.rb, line 41 def pico ; self.to_f / 1000000000000 ; end