Module: SIValue
- Defined in:
- lib/sivalue.rb
Constant Summary collapse
- PREFIX_MAGNITUDES =
{ 'm' => 6, 'k' => 3, 'b' => 9 }
Class Method Summary collapse
-
.from(str) ⇒ Object
Returns BigDecimal.
Class Method Details
.from(str) ⇒ Object
Returns BigDecimal
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/sivalue.rb', line 9 def self.from(str) _, num, prefix = str.match(/^([-+]?[0-9]*\.?[0-9]*)(#{PREFIX_MAGNITUDES.keys.join('|')})?/oi).to_a if num if prefix BigDecimal.new(num) * 10**PREFIX_MAGNITUDES[prefix] else BigDecimal.new(num) end else 0.0 end end |