자료형 플로트는 더블 자료형으로 나눠도 오류가 발생하지 않는 이유가 뭘까요?



exp 가 플로트 자료형이고 뒤에 더블인데 나누기 했는데 이게 오류가 안나오는데 혹시 제가 비쥬얼 스튜디오 코드를 쓰고있어서 그럴까요??
Câu trả lời 2
1
안녕하세요!
C# 규칙상으로는 float 변수에 double 값을 바로 대입할 수 없기 때문에,
exp = exp / 3.13589130580913; 같은 코드는 원래 컴파일 오류가 나야 정상입니다.
리터럴 3.13589130580913은 f 접미사가 없으니까 double 타입으로 인식되고,
연산 과정에서 exp도 자동으로 double로 승격됩니다.
결국 계산 결과는 double이 되는데, 이걸 다시 float에 넣을 때는
명시적 캐스팅((float))이 필요합니다.
그런데 VS Code에서 오류가 안 보인다면, 그건 C# 확장(OmniSharp)이나 타입 분석 기능이
제대로 작동하지 않고 있어서 그런 것 같습니다.
VS Code는 경고나 오류를 표시만 안 하는 경우가 있을 뿐, 실제로 C# 컴파일러 규칙이 바뀐 건 아닙니다.
빌드해보면 여전히 오류가 나오는 걸 확인이 가능하실겁니다.
정리하면,
‘VS Code라서 오류가 안 나는 게 아니라, VS Code가 오류를 표시하지 못하고 있는 것’입니다.
정상적인 C# 컴파일러라면 명시적 캐스팅 없이는 에러가 떠야 맞습니다.
Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의
0
10
1
프로젝트 질문 문의
0
40
1
UI 기능 관련 질문이 있습니다!
0
30
2
03-01 (16. CharacterController)
0
26
2
TLS 질문드립니다.
0
38
2
Task 구현 28:36 Equals 에서 잘 모르는 부분이 있습니다.
0
21
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
44
2
픽셀 좌표 스크린 좌표
0
31
0
Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?
0
21
1
Rider대신 VS를 써도 괜찮나요?
0
109
2
Claude Code Pro구독하고 있는 상태에서 크레딧 결제, 사용문의
0
169
2
LobbyUIController의 백키가 사라졌는데 왜그런건가요?
0
39
2
무조건 타이틀 씬부터 시작해야하나요?
0
38
1
BaseUI, UIManager
0
48
3
토큰 사용량 및 인증 관련해서 질문드립니다.
0
124
2
OAuth 방식 문의
0
105
2
프로젝트 완성본 문의
0
39
2
Unity Span
0
70
2
C#을 사용하는 장점이 무엇인지 궁금합니다.
0
97
1
빌드 파일 제출 기한
0
92
2
마지막 주 수업은 언제 업로드 되는 건가요?
0
66
1
11월 30일 강의업데이트가 안되어 있네요.
0
54
2
맥에서는 비쥬얼스튜디오 2022 지원을 안하네요;;
0
86
3
영상관련
0
71
1

