Module | ExtensoReal |
In: |
vendor/plugins/brazilian-rails/lib/number_portuguese.rb
|
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"
# File vendor/plugins/brazilian-rails/lib/number_portuguese.rb, line 128 128: def ExtensoReal.por_extenso_em_reais(valor) 129: return 'grátis' if valor == 0 130: case valor 131: when Integer 132: extenso = Extenso.por_extenso(valor) 133: if extenso =~ /^(.*)(ão$|ões$)/ 134: complemento = 'de ' 135: else 136: complemento = '' 137: end 138: %(#{extenso} #{valor <= 1 ? 'real': "#{complemento}reais"}) 139: when Float 140: real,cents=("%.2f" % valor).split(/\./).map{ |m| m.to_i} 141: valor_cents=Extenso.por_extenso(cents%100) 142: 143: valor_cents+= case cents.to_i%100 144: when 0: "" 145: when 1: " centavo" 146: when 2..99: " centavos" 147: end 148: 149: if real.to_i > 0 150: "#{ExtensoReal.por_extenso_em_reais(real.to_i)}#{cents > 0 ? ' e ' + valor_cents : ''}" 151: else 152: "#{valor_cents}" 153: end 154: else 155: ExtensoReal.por_extenso_em_reais(valor.to_s.strip.gsub(/[^\d]/,'.').to_f) 156: end 157: end
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'
# File vendor/plugins/brazilian-rails/lib/number_portuguese.rb, line 112 112: def por_extenso_em_reais 113: ExtensoReal.por_extenso_em_reais(self.to_s) 114: end
DEPRECATION WARNING: use por_extenso_em_reais, pois este sera removido no proximo release.
# File vendor/plugins/brazilian-rails/lib/number_portuguese.rb, line 117 117: def to_extenso_real 118: warn('DEPRECATION WARNING: use por_extenso_em_reais, pois este sera removido no proximo release.') 119: self.por_extenso_em_reais 120: end