Что означает M в десятичной литеральной нотации C #?

StackOverflow https://stackoverflow.com/questions/977484

  •  13-09-2019
  •  | 
  •  

Вопрос

Чтобы работать с десятичными типами данных, я должен сделать это с помощью инициализации переменной:

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

Ну, я думаю, я представляю мантиссу.Десятичное число можно использовать для экономии денег, но это не значит, что десятичное число используется только для денег.

Вероятно, означает Деньги.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top