Uso flutuante ou decimal para o valor em dólares do aplicativo de contabilidade?

Estamos reescrevendo nosso sistema de contabilidade herdado no VB.NET e no SQL Server. Trouxemos uma nova equipe de programadores .NET / SQL para reescrever. A maior parte do sistema já está concluída com os valores em dólar usando flutuadores. A linguagem do sistema legado, que eu programei, não tinha um flutuador, então provavelmente usaria um decimal.

Qual é a sua recomendação?

O tipo de dados flutuante ou decimal deve ser usado para valores em dólares?

Quais são alguns dos prós e contras de ambos?

Um erro mencionado em nosso scrum diário foi que você deve tomar cuidado ao calcular um valor que retorne um resultado acima de duas casas decimais. Parece que você terá que arredondar o valor para duas casas decimai

Outro Con é todos os displays e os valores impressos precisam ter uma Declaração de Formato que mostre duas casas decimais. Notei algumas vezes em que isso não foi feito e os valores não pareciam corretos. (ou seja, 10,2 ou 10,2546)

Um profissional é que o flutuador ocupa apenas 8 bytes no disco, onde o decimal levaria 9 bytes (decimal 12,2)

questionAnswers(24)

yourAnswerToTheQuestion