Class: BrBoleto::Helper::Number
- Inherits:
-
Object
- Object
- BrBoleto::Helper::Number
- Defined in:
- lib/br_boleto/helper/number.rb
Instance Method Summary collapse
- #formata_valor_monetario(size = 13) ⇒ Object
-
#formata_valor_percentual(size = 6) ⇒ Object
Formata o valor percentual.
-
#get_percent_by_total(total, precision = 6) ⇒ Object
Retorna o percentual que o @numero representa do total Exemplo: @numero = 407.5 get_percent_by_total(4750.68, precision=2) Resultado => 8.58 % Ou seja, R$ 407.5 Representa uma fatia de 8.58% de R$ 4750.68.
-
#initialize(numero) ⇒ Number
constructor
A new instance of Number.
Constructor Details
#initialize(numero) ⇒ Number
Returns a new instance of Number.
4 5 6 |
# File 'lib/br_boleto/helper/number.rb', line 4 def initialize(numero) @numero = numero end |
Instance Method Details
#formata_valor_monetario(size = 13) ⇒ Object
8 9 10 11 |
# File 'lib/br_boleto/helper/number.rb', line 8 def formata_valor_monetario(size=13) return ''.rjust(size, '0') if @numero.blank? sprintf('%.2f', @numero).delete('.').rjust(size, '0') end |
#formata_valor_percentual(size = 6) ⇒ Object
Formata o valor percentual. Exemplos:
1 -
@numero = 2.5 (%)
formata_valor_percentual(6)
Resultado: 025000
2 -
@numero = 12.34 (%)
formata_valor_percentual(4)
Resultado: 1234
24 25 26 27 28 29 30 31 |
# File 'lib/br_boleto/helper/number.rb', line 24 def formata_valor_percentual(size=6) return ''.rjust(size, '0') if @numero.blank? if @numero >= 10 sprintf("%.#{size-2}f", @numero).delete('.').adjust_size_to(size, '0') else sprintf("0%.#{size-2}f", @numero).delete('.').adjust_size_to(size, '0') end end |
#get_percent_by_total(total, precision = 6) ⇒ Object
Retorna o percentual que o @numero representa do total Exemplo:
@numero = 407.5
get_percent_by_total(4750.68, precision=2)
Resultado => 8.58 %
Ou seja, R$ 407.5 Representa uma fatia de 8.58% de R$ 4750.68
39 40 41 |
# File 'lib/br_boleto/helper/number.rb', line 39 def get_percent_by_total(total, precision=6) (@numero.to_f*100.0/total.to_f).round(precision.to_i) end |