moeda
Dinheiro sem erro de ponto flutuante: centavos inteiros, câmbio e formatação BRL.
bash
dataforge add moeda| Versão | 1.0.0 |
| Licença | MIT |
| Dependências | nenhuma |
| Exporta | 24 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,70API#
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