답변:
다른 사람들이 말했듯이 십진 리터럴임을 의미합니다. 그러나 기원은 아마도이 답변의 다른 곳에서 제안 된 것이 아닐 것입니다. 로부터 C # 주석 표준 합니다 (ECMA 버전이 아닌 MS 버전) :
decimal
접미사 M / D / D가 이미 촬영 된 사람 m이다double
. M은 돈을 의미한다고 제안되었지만, Peter Golde는 M이 단순히 다음으로 최고의 편지로 선정되었다고 회상합니다decimal
.
비슷한 주석은 C #의 초기 버전에 각각 "Y"와 "S"가 포함되어 byte
있고 short
리터럴이 있다고 언급합니다 . 그들은 자주 유용하지 않다는 이유로 떨어졌습니다.
M은 "소수"의 첫 번째 모호하지 않은 문자를 나타냅니다. 추가하지 않으면 숫자가 두 배로 취급됩니다.
D는 두 배입니다.
0.42
을 10 진수로 캐스팅하면 다른 값을 얻을 수 있습니다 0.42M
(float 리터럴 대신 double 리터럴을 사용하는 것과 동일- float val = 423.3
실패). 따라서 미묘하게 잘못된 동작과 CLR 및 C # 표준을 수정하고 준수하는 데 0.5 초가 걸리는 컴파일러 오류 중에서 선택합니다.
M 또는 m으로 접미사가 붙은 실제 리터럴은 10 진수 유형입니다. 예를 들어 리터럴 1m, 1.5m, 1e10m 및 123.456M은 모두 10 진수 형식입니다. 이 리터럴은 정확한 값을 취하고 필요한 경우 은행가 반올림을 사용하여 가장 가까운 표현 가능한 값으로 반올림하여 10 진수 값으로 변환됩니다. 값이 반올림되거나 값이 0이 아닌 경우 리터럴에 표시된 모든 스케일이 유지됩니다 (후자의 경우 부호와 스케일이 0 임). 따라서 리터럴 2.900m은 구문 분석되어 부호 0, 계수 2900 및 스케일 3으로 10 진수를 형성합니다.
음, M은 가수를 나타냅니다. 십진수는 돈을 저축하는 데 사용될 수 있지만, 십진수는 돈을 위해서만 사용되는 것은 아닙니다.