Pular para o conteúdo

moeda

Dinheiro sem erro de ponto flutuante: centavos inteiros, câmbio e formatação BRL.

bash
dataforge add moeda
Versão1.0.0
LicençaMIT
Dependênciasnenhuma
Exporta24 símbolos

Por que existe#

0.1 + 0.2 não dá 0.3 em ponto flutuante. Com dinheiro isso vira centavo perdido, e centavo perdido vira conferência de fechamento. Aqui tudo é inteiro de centavos.

Uso#

dataforge
adopt moeda as M
preco := M.de_reais(19.90)
total := M.multiplicar(preco, 3)
out M.formatar(total)          // R$ 59,70

API#

O que relay exporta — 24 símbolos:

dataforge
record Dinheiro
SIMBOLOS
meio_acima(x)
de_centavos(centavos, simbolo := "BRL")
de_reais(valor, simbolo := "BRL")
de_texto(texto, simbolo := "BRL")
em_reais(d)
somar(a, b)
subtrair(a, b)
multiplicar(d, fator)
dividir(d, divisor)
conferir_moeda(a, b)
repartir(d, partes)
repartir_por_peso(d, pesos)
percentual(d, taxa)
com_desconto(d, taxa)
com_acrescimo(d, taxa)
e_zero(d)
e_negativo(d)
comparar(a, b)
maior(a, b)
total(lista)
formatar(d, com_simbolo := yes)
converter(d, para, taxa)

Instalar#

bash
dataforge add moeda
dataforge add moeda@1.0.0
dataforge add moeda@^1.0