VB.NET лучший тип данных для хранения валютных значений - PullRequest
8 голосов
/ 13 февраля 2010

Какой тип данных наиболее подходит для хранения валютных значений в VB.NET?

1 Ответ

13 голосов
/ 13 февраля 2010

Decimal (псевдоним для System.Decimal структура в BCL) предназначен для хранения денежных значений. Это 128-битный десятичный тип с плавающей запятой (в отличие от двоичной с плавающей запятой), и он полезен для хранения «реальных» значений с высокой десятичной точностью. Под реальным миром я имею в виду измерения, которые изначально делаются в десятичном формате. Double обычно подходит для вычислений, которым не нужна такая большая точность, когда они представлены в виде десятичных чисел.

Тип десятичного значения представляет десятичные числа в диапазоне от положительных 79,228,162,514,264,337,593,543,950,335 до отрицательных 79,228,162,514,264,337,593,543,950,335. Тип десятичного значения подходит для финансовых расчетов, требующих большого числа значащих целых и дробных цифр и без ошибок округления . Тип Decimal не устраняет необходимость округления. Скорее, это минимизирует ошибки из-за округления. Например, следующий код выдает результат 0.9999999999999999999999999999 вместо 1.

...