Class: Numeric

Inherits:
Object
  • Object
show all
Defined in:
lib/numrepr/money.rb,
lib/numrepr/format.rb,
lib/numrepr/decimal.rb,
lib/numrepr/percent.rb

Direct Known Subclasses

Float, Integer

Instance Method Summary collapse

Instance Method Details

#make_digitsObject



229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# File 'lib/numrepr/format.rb', line 229

def make_digits
  case
  when nan?      then "NaN".reverse
  when infinite? then "Inf".reverse
  when zero?     then [ "", ""]
  else
    _, digits, _, exp = *split
    f = exp - digits.length
    if f >= 0 then
      digits << "0" * f
      digits.reverse!
      [ digits, ""]
    else
      if exp >= 0 then
        i = digits.slice! 0, exp
        i.reverse!
      else
        i = ""
        digits.prepend "0" * -exp
      end
      [ i, digits]
    end
  end
end

#signObject



227
# File 'lib/numrepr/format.rb', line 227

def sign ; self ; end

#splitObject



222
223
224
225
# File 'lib/numrepr/format.rb', line 222

def split
  _, r = (coerce 0.0)
  r.split
end

#to_decimalObject



294
# File 'lib/numrepr/decimal.rb', line 294

def to_decimal ; NumRepr::Decimal.new self ; end

#to_moneyObject



335
# File 'lib/numrepr/money.rb', line 335

def to_money ; NumRepr::Money.new self ; end

#to_percentObject



234
# File 'lib/numrepr/percent.rb', line 234

def to_percent ; NumRepr::Percent.new self ; end