Как манипулировать и хранить точные цифры на сервере SQL - PullRequest
0 голосов
/ 02 августа 2011

Как хранить числа с переменным количеством десятичных знаков?Я думаю, там может быть от 1 до 100 знаков после запятой.Что такое с типом данных float?Почему они называют это приблизительное число?Десятичная дробь - это хорошо, но, насколько я понимаю, это тип данных с фиксированной точностью.Есть ли хорошие статьи о точных цифрах?Моя база данных будет взаимодействовать с внешним интерфейсом .net, и мне также нужно отобразить эти значения точности на внешнем интерфейсе.

1 Ответ

3 голосов
/ 02 августа 2011

из вики:

Термин «плавающая точка» относится к тому факту, что точка радиуса (десятичная точка, или, чаще в компьютерах, двоичная точка) может «Плавать»; то есть его можно разместить в любом месте относительно значащие цифры номера. Эта позиция обозначена отдельно во внутреннем представлении и с плавающей точкой Таким образом, представление может рассматриваться как компьютерная реализация научная нотация. За эти годы, несколько разных с плавающей точкой представления были использованы в компьютерах; однако за последние десять лет наиболее часто встречаемое представление является то, что определяется Стандарт IEEE 754.

Преимущество представления с плавающей точкой по сравнению с фиксированной точкой (и целочисленное) представление состоит в том, что он может поддерживать гораздо более широкий диапазон ценности. Например, представление с фиксированной точкой, которое имеет семь десятичные цифры с двумя десятичными знаками, могут представлять числа 12345.67, 123.45, 1.23 и т. Д., А с плавающей точкой представление (например, десятичный32 IEEE 754) с семью десятичные цифры могут дополнительно представлять собой 1,234567, 123456,7, 0,00001234567, 1234567000000000 и т. Д. Формат с плавающей точкой нужно немного больше памяти (чтобы закодировать положение радиуса точка), поэтому при хранении в одном и том же пространстве числа с плавающей точкой достичь большего диапазона за счет точности.

См. http://msdn.microsoft.com/en-us/library/ms187746.aspx для типов данных с фиксированной точкой.

Лучшее, что вы можете сделать с примитивным типом данных - это 38. Если вам действительно нужно 100 мест, вы можете использовать varchar и реализовать операции в своем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...