Como escolher corretamente o tipo de dado para armazenar o custo considerando os kopecks no sistema?
sobes.tech IA
Resposta da IA
Para armazenar o valor com cêntimos, é importante escolher um tipo de dado que garanta precisão e evite erros de arredondamento.
Frequentemente, utilizam-se as seguintes abordagens:
-
Tipos inteiros — armazenar o valor nas unidades mínimas (por exemplo, cêntimos). Em vez de 123,45 rublos, armazenar 12345 (um número inteiro). Isto evita erros de arredondamento nas operações aritméticas.
-
Tipos decimais com precisão fixa (por exemplo,
decimaloubig.Ratem Go) — permitem trabalhar com números com um número fixo de casas decimais.
Em Go, para cálculos financeiros, costuma-se usar valores inteiros ou bibliotecas externas para trabalhar com aritmética decimal, como shopspring/decimal:
import "github.com/shopspring/decimal"
preço := decimal.NewFromFloat(123.45)
// operações com aritmética decimal precisa
Assim, a escolha depende dos requisitos de precisão e de facilidade ao trabalhar com valores monetários.