| Module | Extenso |
| In: |
vendor/plugins/brazilian-rails/lib/number_portuguese.rb
|
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"
# 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
Escreve o numero por extenso.
Exemplo:
1.por_extenso ==> 'um' 100.por_extenso ==> 'cem' 158.por_extenso ==> 'cento e cinquenta e oito'
# 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.
# 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