Class: BrBoleto::Helper::Number

Inherits:
Object
  • Object
show all
Defined in:
lib/br_boleto/helper/number.rb

Instance Method Summary collapse

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