C#: Хранение процентов, 50 или 0.50?

Когда содержание значений процента в переменных является там предпочтением между содержанием их как целые числа по сравнению с частями. Это, должен переменные числа хранения между 0 и 100 или между 0,00 и 1.00? В любом случае переменная, содержащая значения, имеет десятичный тип.

База данных, с которой я взаимодействую, оказывается, хранит их как целые числа от 0 до 100.

Примечание: Я использую слово "целое число" для обозначения значений в диапазоне от 0 до 100, хотя те значения могут содержать дробные компоненты (например, 25.75). Я не знаю, как еще описать различие между двумя диапазонами значений процента

13
задан easwee 6 January 2015 в 09:15
поделиться

5 ответов

Я был бы склонен хранить их как от 0 до 1, тогда при использовании числа в вычислениях никакого покрытия не требуется.

Использование числа от 0 до 100 - это скорее способ отображения / удобочитаемости числа. При отображении процента можно использовать String.Format ("{0: P}, процент) при этом ожидается, что число будет от 0 до 1, но будет отображаться от 0 до 100.

26
ответ дан 1 December 2019 в 20:42
поделиться

Если вы используете поля с плавающей запятой (float, decimal, double), то 50.0 и 0.50 будут иметь одинаковую степень точности. Итак, с этого момента я бы принимал решения на основе того, что делают похожие поля в аналогичных таблицах, чтобы дать ощущение единства дизайна.

3
ответ дан 1 December 2019 в 20:42
поделиться

Думаю, это тривиально... оба варианта одинаковы

Я имею в виду в плане вычислений/отображения инфы...

00.50 is cool for calculations

50.00 is cool for displaying
0
ответ дан 1 December 2019 в 20:42
поделиться

Вы можете использовать числа с двойной точностью для обозначения процентов и 0-1. Но если вы решите хранить процентное значение как «целое число», я бы посоветовал не использовать целые числа, поскольку это ограничит вас, например, если вы когда-нибудь захотите представить 12,3%.

0
ответ дан 1 December 2019 в 20:42
поделиться

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

Если вы просто сохраняете и представляете число, это не имеет значения.

Какие вычисления вы планируете делать с этим числом, если таковые имеются?

0
ответ дан 1 December 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: