2009-04-13 10 views
12

Нечеткое значение sizeof для десятичных типов. Размер в байтах зависит от точности, как в sql-сервере? Является ли переменная точности для C# типа «десятичной»?C# размер десятичного числа?

Я не хочу включать небезопасный код, чтобы просто вызвать sizeof по десятичному типу. Как бы вы к этому подошли?

ответ

15

Как говорили другие, decimal всегда 16 байт (128 бит). Точность decimal всегда составляет 28/29 цифр. Это тип с плавающей точкой, в отличие от типа SQL DECIMAL. См. my article on it для более подробной информации.

+1

Это, безусловно, лучший ответ, если вы щелкните по ссылке и прочитайте статью. MSDN перестает объяснять, как он хранится, что действительно требуется в исходном исходном источнике. –

22

Ключевое слово десятичного дня означает 128-битный тип данных.

Источник: MSDN

+0

Там в версии с низкой пропускной способностью в MSDN в настоящее время>? Интересно. Конечно, у меня высокая скорость связи как дома, так и на работе, но это интересно знать. – Powerlord

+0

Да, я предпочитаю ссылаться на версию с низкой пропускной способностью при использовании в качестве ссылки, так как она загружается намного быстрее и красиво выглядит в большинстве браузеров. –

+0

+1 для низкочастотного диапазона - сегодня я узнал что-то новое. –

5

Размер System.Decimal в .NET Framework установлена ​​на 16 байт.

1

128-битовые точные десятичные значения с 28-29 значащих цифр, 128 бит = 16 байт

Смежные вопросы