Module ExtensoReal
In: brnumeros/lib/brnumeros/number_portuguese.rb

Methods

Included Modules

Extenso

Public Class methods

Escreve o numero por extenso em reais.

Exemplo:

 Extenso.por_extenso_em_reais(1) ==> "um real"
 Extenso.por_extenso_em_reais(100) ==> "cem reais"
 Extenso.por_extenso_em_reais(100.58) ==> "cem reais e cinquenta e oito centavos"

[Source]

     # File brnumeros/lib/brnumeros/number_portuguese.rb, line 123
123:   def ExtensoReal.por_extenso_em_reais(valor)
124:     negativo=(valor<0)?" negativo":""
125:     negativos=(valor<0)?" negativos":""
126:     valor = valor.abs
127:     return 'grátis' if valor == 0
128:     case valor
129:     when Integer
130:       extenso = Extenso.por_extenso(valor)
131:       if extenso =~ /^(.*)(ão$|ões$)/
132:         complemento = 'de '
133:       else
134:         complemento = ''
135:       end
136:       %(#{extenso} #{valor <= 1 ? "real#{negativo}": "#{complemento}reais#{negativos}"})
137:     when Float
138:       real,cents=("%.2f" % valor).split(/\./).map{ |m| m.to_i}
139:       valor_cents=Extenso.por_extenso(cents%100)
140:       valor_cents+= case cents.to_i%100
141:       when 0: ""
142:       when 1: " centavo"
143:       when 2..99: " centavos"
144:       end
145: 
146:       if real.to_i > 0
147:         "#{ExtensoReal.por_extenso_em_reais(real.to_i)}#{cents > 0 ? ' e ' + valor_cents + negativos : real.to_i > 1 ? negativos : negativo }"
148:       else
149:         if (cents.to_i%100)==1
150:            "#{valor_cents}#{negativo}"
151:         else
152:            "#{valor_cents}#{negativos}"
153:         end
154:       end
155:     else
156:       ExtensoReal.por_extenso_em_reais(valor.to_s.strip.gsub(/[^\d]/,'.').to_f)
157:     end
158:   end

Public Instance methods

Escreve por extenso em reais.

Exemplo:

 1.por_extenso_em_reais ==> 'um real'
 (100.58).por_extenso_em_reais ==> 'cem reais e cinquenta e oito centavos'

[Source]

     # File brnumeros/lib/brnumeros/number_portuguese.rb, line 110
110:   def por_extenso_em_reais
111:     ExtensoReal.por_extenso_em_reais(self)
112:   end
to_extenso_real()

[Validate]