Module Extenso
In: vendor/plugins/brazilian-rails/lib/number_portuguese.rb

Methods

Public Class methods

Escreve o numero por extenso.

Exemplo:

 Extenso.por_extenso(1) ==> "um"
 Extenso.por_extenso(100) ==> "cem"
 Extenso.por_extenso(158) ==> "cento e cinquenta e oito"

[Source]

     # File vendor/plugins/brazilian-rails/lib/number_portuguese.rb, line 65
 65:   def Extenso.por_extenso(numero)
 66:     n=numero.to_i.abs
 67:     return case n
 68:     when 0..9: @@unidade[n].to_s 
 69:     when 10..19: @@dezena[n].to_s
 70:     when 20..99:
 71:       v=n % 10
 72:       if  v== 0
 73:         @@dezena[n].to_s
 74:       else
 75:         "#{@@dezena[n-v]} e #{por_extenso(v)}"
 76:       end
 77:     when 100
 78:       "cem"     
 79:     when 101..999
 80:       v=n % 100
 81:       if  v== 0
 82:         @@centena[n].to_s
 83:       else
 84:         "#{@@centena[n-v]} e #{por_extenso(v)}"
 85:       end
 86:     when 1000..999999  
 87:       m,c=n/1000,n%1000
 88:       %(#{por_extenso(m)} mil#{c > 0 ? " e #{por_extenso(c)}":''})
 89:     when 1_000_000..999_999_999
 90:       mi,m=n/1_000_000,n%1_000_000
 91:       %(#{por_extenso(mi)} milh#{mi > 1 ? 'ões':'ão'}#{m > 0 ? " e #{por_extenso(m)}" : ''})
 92:     when 1_000_000_000..999_999_999_999
 93:       bi,mi=n/1_000_000_000,n%1_000_000_000
 94:       %(#{por_extenso(bi)} bilh#{bi > 1 ? 'ões':'ão'}#{mi > 0 ? " e #{por_extenso(mi)}" : ''})
 95:     when 1_000_000_000_000..999_999_999_999_999
 96:       tri,bi=n/1_000_000_000_000,n%1_000_000_000_000
 97:       %(#{por_extenso(tri)} trilh#{tri > 1 ? 'ões':'ão'}#{bi > 0 ? " e #{por_extenso(bi)}" : ''})
 98:     else
 99:       raise "Valor excede o permitido: #{n}"
100:     end
101:   end

Public Instance methods

Escreve o numero por extenso.

Exemplo:

 1.por_extenso ==> 'um'
 100.por_extenso ==> 'cem'
 158.por_extenso ==> 'cento e cinquenta e oito'

[Source]

    # File vendor/plugins/brazilian-rails/lib/number_portuguese.rb, line 49
49:   def por_extenso
50:     Extenso.por_extenso(self)
51:   end

DEPRECATION WARNING: use por_extenso, pois este sera removido no proximo release.

[Source]

    # File vendor/plugins/brazilian-rails/lib/number_portuguese.rb, line 54
54:   def to_extenso
55:     warn('DEPRECATION WARNING: use por_extenso, pois este sera removido no proximo release.')
56:     self.por_extenso
57:   end

[Validate]