강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của musful
musful

câu hỏi đã được viết

Unity Cơ Bản Challenge: Tạo Game Của Riêng Bạn Từ 2D Đến 3D

Toán tử và câu lệnh điều kiện (if, switch)

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

Đã giải quyết

Viết

·

52

0

스크린샷 2025-11-06 오후 4.57.21.png.webp

 

스크린샷 2025-11-06 오후 4.57.04.png.webp스크린샷 2025-11-06 오후 4.56.41.png.webp

exp 가 플로트 자료형이고 뒤에 더블인데 나누기 했는데 이게 오류가 안나오는데 혹시 제가 비쥬얼 스튜디오 코드를 쓰고있어서 그럴까요??

C#unity게임기획게임-물리유니티6

Câu trả lời 2

1

Pinous님의 프로필 이미지
Pinous
Người chia sẻ kiến thức


안녕하세요!

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# 컴파일러라면 명시적 캐스팅 없이는 에러가 떠야 맞습니다.

musful님의 프로필 이미지
musful
Người đặt câu hỏi

C#익스텐션 설치해도잘 안되는것 같더라고요ㅜ

0

musful님의 프로필 이미지
musful
Người đặt câu hỏi

아 그렇군요 감사합니다 매우 빠른답변 너무 좋아요 ㅎㅎ 그럼 vs code에서 오류표시 기능을 제대로 작동시킬려면 뭘해야할까요?

Pinous님의 프로필 이미지
Pinous
Người chia sẻ kiến thức

기본적으로는 문제없게 잘 되는게 정상인데,, 워낙 이유가 다양해서요 ㅠㅠ 아예 비쥬얼스튜디오를 삭제하고 다시 다운로드 해 보시겠어요?

musful님의 프로필 이미지
musful
Người đặt câu hỏi

네 알겠습니다 정말 감사합니다 빠르게 답변 주셔서 든든합니다ㅎㅎ한번 해결해보겠습니다

Hình ảnh hồ sơ của musful
musful

câu hỏi đã được viết

Đặt câu hỏi