Что означает M в десятичной литеральной нотации C #?
Вопрос
Чтобы работать с десятичными типами данных, я должен сделать это с помощью инициализации переменной:
decimal aValue = 50.0M;
Что означает часть M?
Решение
Это означает, что это десятичный литерал, как говорили другие.Однако истоки, вероятно, не те, которые предложены в другом месте этого ответа.Из Аннотированный стандарт C # (версия ECMA, а не версия MS):
В
decimal
суффикс - M / m, так как D / d уже был занятdouble
.Хотя было высказано предположение, что M означает деньги, Питер Голд напоминает что M было выбрано просто как следующая лучшая буква вdecimal
.
В аналогичной аннотации упоминается, что ранние версии C # включали "Y" и "S" для byte
и short
литералы соответственно.Они были отброшены на том основании, что не очень часто были полезны.
Другие советы
M означает десятичную дробь.Если вы не добавите его, число будет рассматриваться как двойное.D - это двойное значение.
Из спецификаций C #:
var f = 0f; // single
var d = 0d; // double
var m = 0m; // decimal (money)
var u = 0u; // unsigned int
var l = 0l; // long
var ul = 0ul; // unsigned long
Обратите внимание, что вы можете использовать заглавные или строчные обозначения.
Действительный литерал с суффиксом M или m имеет тип decimal.Например, все литералы 1m, 1.5m, 1e10m и 123.456M относятся к типу decimal.Этот литерал преобразуется в десятичное значение путем получения точного значения и, при необходимости, округления до ближайшего представимого значения с использованием банковского округления.Любой масштаб, видимый в литерале, сохраняется, если значение не округлено или значение не равно нулю (в последнем случае знак и масштаб будут равны 0).Следовательно, литерал 2.900m будет проанализирован для формирования десятичной дроби со знаком 0, коэффициентом 2900 и шкалой 3.
Ссылка: https://msdn.microsoft.com/en-us/library/aa691085.aspx
Ну, я думаю, я представляю мантиссу.Десятичное число можно использовать для экономии денег, но это не значит, что десятичное число используется только для денег.
Вероятно, означает Деньги.