Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Real vs. Ponto Flutuante vs. Dinheiro


Dê uma olhada no que todo cientista da computação deve saber sobre aritmética de ponto flutuante.

Números de ponto flutuante em computadores não representam frações decimais exatamente. Em vez disso, eles representam binário frações. A maioria dos números fracionários não tem uma representação exata como uma fração binária, então há alguns arredondamentos acontecendo. Quando uma fração binária arredondada é convertida de volta para uma fração decimal, você obtém o efeito que descreve.

Para armazenar valores monetários, os bancos de dados SQL normalmente fornecem um tipo DECIMAL que armazena dígitos decimais exatos. Esse formato é um pouco menos eficiente para lidar com computadores, mas é bastante útil quando você deseja evitar erros de arredondamento decimal.