C / C 번호 / 등에서 당신은 문자 번호 (가로 보이는 아니라고 컴파일러를 말할 수있는, 즉. float
대신 double
, unsigned long
대신 int
:
var d = 1.0; // double
var f = 1.0f; // float
var u = 1UL; // unsigned long
기타
누군가 나에게 이것들의 목록을 지적 할 수 있습니까? short
또는 에 대한 접미사를 찾고 Int16
있습니다.
답변
var d = 1.0d; // double
var d0 = 1.0; // double
var d1 = 1e+3; // double
var d2 = 1e-3; // double
var f = 1.0f; // float
var m = 1.0m; // decimal
var i = 1; // int
var ui = 1U; // uint
var ul = 1UL; // ulong
var l = 1L; // long
나는 그것이 전부라고 생각합니다 … short / ushort / byte / sbyte에 대한 리터럴 지정자는 없습니다
답변
정수 리터럴의 유형은 다음과 같이 결정됩니다.
- 리터럴 접미사가없는 경우, 그것의 값이 표현 될 수있는 이러한 유형의 첫 번째가 :
int
,uint
,long
,ulong
.- 리터럴에
U
또는 접미사가 붙으면u
값을 나타낼 수있는 다음 유형 중 첫 번째 유형을 갖습니다.uint
,ulong
.- 리터럴에
L
또는 접미사가 붙으면l
값을 나타낼 수있는 다음 유형 중 첫 번째 유형을 갖습니다.long
,ulong
.- 리터럴이 접미사로되어있는 경우
UL
,Ul
,uL
,ul
,LU
,Lu
,lU
, 또는lu
, 그것은 타입이다ulong
.
그리고 §2.4.4.3 실시간 리터럴 :
실수 형식 접미사가 지정되지 않으면 실수 리터럴의 형식은 두 배입니다. 그렇지 않으면 실수 형식 접미사는 다음과 같이 실수 리터럴의 형식을 결정합니다.
- 접미사가
F
또는f
형식 인 실제 리터럴float
입니다. 예를 들어, 리터럴1f
,1.5f
,1e10f
, 및123.456F
모든 유형입니다float
.- 접미사가
D
또는d
형식 인 실제 리터럴double
입니다. 예를 들어, 리터럴1d
,1.5d
,1e10d
, 및123.456D
모든 유형입니다double
.- 접미사가
M
또는m
형식 인 실제 리터럴decimal
입니다. 예를 들어, 리터럴1m
,1.5m
,1e10m
, 및123.456M
모든 유형입니다decimal
. 이 리터럴은 정확한 값을 취하고 필요에 따라 은행가의 반올림을 사용하여 가장 가까운 표현 가능한 값으로 반올림하여 10 진수 값으로 변환됩니다 (4.1.7 단원). 값이 반올림되거나 값이 0이 아니면 리터럴에 표시된 모든 스케일이 유지됩니다 (후자의 경우 부호와 스케일이 0 임). 따라서 리터럴2.900m
은 구문 분석되어 sign0
, coefficient2900
및 scale과 함께 10 진수를 형성합니다3
.
답변
변수가 아직 짧지 않은 경우 명시 적으로 캐스팅해야합니다.
Object s = (Int16) 1;
답변
한마디도 없습니다. 그냥 사용하십시오 short s = 1;
.