Какие типы данных я должен использовать для следующих требований в C # - PullRequest
0 голосов
/ 18 января 2011

Сначала я объясню названия различных свойств и функций, которые будут над ними выполняться. После этого вы говорите мне, какой тип данных я должен использовать для них ??

1) Вес брутто (пользователь введет): будет в центнерах (весовая категория). Например: 147.3800.

2) Меньше слез (пользователь введет: также будет в пятнадцати (весовая категория). Например: .3800.

3) Вес нетто (с автоматическим расчетом): в центрах (весовая категория). Например: Вес брутто - меньше разрыв.

4) Rate / Quintal (пользователь введет): сумма за квинтал. Например: 4560,55

5) Общая сумма (с автоматическим расчетом): Например: Вес нетто x Ставка / центнер

Теперь скажите мне, какие предпочтительные типы данных для выше пяти полей в C #.

Ответы [ 2 ]

2 голосов
/ 18 января 2011

В каждом случае вы, вероятно, захотите использовать значение с плавающей запятой, что означает выбор между двойным и десятичным.

Поскольку в .NET отсутствуют объекты, связанные с операциями с плавающей запятой произвольной точности, выбор в основном связан с точностью и дальностью. Десятичное число имеет меньший диапазон (от 10e-28 до 7,9 x 10e28, но с большей точностью (28-29 значащих цифр). Double работает наоборот (диапазон от ~ 10e-324 до ~ 10e308 и 15-16 цифр).

Для этого сценария я бы рекомендовал использовать десятичные дроби во всех случаях.

1 голос
/ 19 января 2011

Если возможно, используйте decimal для денег (# 4 и # 5), чтобы избежать ошибок представления с плавающей точкой.

Для физических измерений, таких как вес, или для иррациональных функций, таких как sin или log, предпочитайте double.

...