[C#] C # 10 진 리터럴 표기법에서 M의 의미는 무엇입니까?

십진 데이터 유형으로 작업하려면 변수 초기화 로이 작업을 수행해야합니다.

decimal aValue = 50.0M;

M 부분은 무엇을 의미합니까?



답변

다른 사람들이 말했듯이 십진 리터럴임을 의미합니다. 그러나 기원은 아마도이 답변의 다른 곳에서 제안 된 것이 아닐 것입니다. 로부터 C # 주석 표준 합니다 (ECMA 버전이 아닌 MS 버전) :

decimal접미사 M / D / D가 이미 촬영 된 사람 m이다 double. M은 돈을 의미한다고 제안되었지만, Peter Golde는 M이 단순히 다음으로 최고의 편지로 선정되었다고 회상합니다 decimal.

비슷한 주석은 C #의 초기 버전에 각각 “Y”와 “S”가 포함되어 byte있고 short리터럴이 있다고 언급합니다 . 그들은 자주 유용하지 않다는 이유로 떨어졌습니다.


답변

C # 사양에서 :

var f = 0f; // float
var d = 0d; // double
var m = 0m; // decimal (money)
var u = 0u; // unsigned int
var l = 0l; // long
var ul = 0ul; // unsigned long

대문자 또는 소문자 표기법을 사용할 수 있습니다.


답변

M은 “소수”의 첫 번째 모호하지 않은 문자를 나타냅니다. 추가하지 않으면 숫자가 두 배로 취급됩니다.

D는 두 배입니다.


답변

M 또는 m으로 접미사가 붙은 실제 리터럴은 10 진수 유형입니다. 예를 들어 리터럴 1m, 1.5m, 1e10m 및 123.456M은 모두 10 진수 형식입니다. 이 리터럴은 정확한 값을 취하고 필요한 경우 은행가 반올림을 사용하여 가장 가까운 표현 가능한 값으로 반올림하여 10 진수 값으로 변환됩니다. 값이 반올림되거나 값이 0이 아닌 경우 리터럴에 표시된 모든 스케일이 유지됩니다 (후자의 경우 부호와 스케일이 0 임). 따라서 리터럴 2.900m은 구문 분석되어 부호 0, 계수 2900 및 스케일 3으로 10 진수를 형성합니다.

실제 리터럴에 대해서 더 읽어보세요.


답변

음, M은 가수를 나타냅니다. 십진수는 돈을 저축하는 데 사용될 수 있지만, 십진수는 돈을 위해서만 사용되는 것은 아닙니다.


답변