module Numeja

Constants

VERSION

Public Class Methods

numerize(str) click to toggle source

Return a numeric of the parsed japanese numerals string

@param input [String] Japanese numerals(KanSuuji)

@return [Integer, Float] the parsed Japanese numerals

@since 0.0.1

@example

require 'numeja'

Numeja.numerize('二千三百八十一億九千四百八十七万六千三百十一') =>  238_194_876_311
Numeja.numerize('弐阡參佰捌拾壱億九千四百八十七万六千三百十一') =>  238_194_876_311
Numeja.numerize('9876億5432万1千2百3十4') => 987_654_321_234)
Numeja.numerize('9876億5432万1千2百3十4') => 987_654_321_234
Numeja.numerize('玖阡捌陌漆拾陸億伍仟肆佰參十貳万壹千弐百卅4') => 987_654_321_234
Numeja.numerize('505') => 505
Numeja.numerize('九八七六五四三二一零') => 9_876_543_210
Numeja.numerize('九分八厘七毛六糸五忽四微三繊二沙零塵一埃') => 0.9876543201
Numeja.numerize('九割八分七厘六毛五糸四忽三微二繊零沙一塵') => 0.9876543201
Numeja.numerize('二分の一') => 0.5
Numeja.numerize('三分の一') => 0.33333333333...
# File lib/numeja.rb, line 128
def numerize(str)
  if str.index('分の').nil?
    Numeja::Number.new(str)
  else
    denominator, molecule = str.split('分の').map { |s| Numeja::Number.new(s) }
    molecule.to_f / denominator.to_f
  end
end