Sobes.tech
Junior — Middle

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, decimal ou big.Rat em 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.