Чтобы работать с десятичными типами данных, я должен сделать это с инициализацией переменной:
decimal aValue = 50.0M;
Что означает М-часть?
Это означает, что это десятичный литерал, как уже говорили другие. Тем не менее, происхождение, вероятно, не те, которые предлагаются в другом месте в этом ответе. Из Аннотированного стандарта C # (версия ECMA, а не версия MS):
decimal
Суффикс М / м , так как D / D уже принятоdouble
. Хотя было высказано предположение, что М означает деньги, Питер Голде напоминает, что М был выбран просто в качестве следующего лучшего письма вdecimal
.
В аналогичной аннотации упоминается, что ранние версии C # включали «Y» и «S» для byte
и short
литералов соответственно. Они были отброшены на том основании, что они не очень полезны.
Из спецификации C #:
Обратите внимание, что вы можете использовать прописные или строчные записи.
источник
М относится к первому не двусмысленному символу в «десятичном». Если вы не добавите его, число будет считаться двойным.
D двойной.
источник
0.42
в десятичное может дать вам значение, отличное от0.42M
(и то же самое для использования двойного литерала вместо литерала с плавающей запятой -float val = 423.3
также не удается). Таким образом, вы выбираете между слегка неправильным поведением и ошибкой компилятора, для исправления которой требуется полсекунды и которая соответствует стандартам CLR и C #.Действительный литерал с суффиксом M или m имеет тип decimal. Например, литералы 1m, 1.5m, 1e10m и 123.456M имеют десятичный тип. Этот литерал преобразуется в десятичное значение путем получения точного значения и, при необходимости, округления до ближайшего представимого значения с использованием округления банкира. Любая шкала, видимая в литерале, сохраняется, если только значение не округлено или значение не равно нулю (в этом случае знак и масштаб будут равны 0). Следовательно, литерал 2.900m будет проанализирован для формирования десятичной дроби со знаком 0, коэффициентом 2900 и шкалой 3.
Узнайте больше о реальных литералах
источник
Ну, я думаю, М представляют мантиссу. Десятичная дробь может использоваться для экономии денег, но это не значит, что десятичная дробь используется только для денег.
источник