| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | 
                            Tags
                            
                        
                          
                          - 크래프톤 정글
- project3
- 이벤트 함수 실행 순서
- 크래프톤 정글 4기
- TiL
- 알고리즘
- BFS
- 백준
- KRAFTON JUNGLE
- anonymous page
- 핀토스
- 티스토리챌린지
- Unity
- 크래프톤정글
- 4기
- 오블완
- 유니티
- 연결리스트
- User Stack
- 추상클래스와인터페이스
- 파이썬
- C
- 다익스트라
- pintos
- 알고리즘수업-너비우선탐색2
- 네트워크
- 크래프톤정글4기
- 전쟁-전투
- kraftonjungle
- c#
                            Archives
                            
                        
                          
                          - Today
- Total
말감로그
Unity C# 기초 2. 형변환(casting) 본문
728x90
    
    
  1. 형변환 (Casting)
변수나 리터럴 타입을 다른 타입으로 변환하는 것
- 데이터 형의 크기 순서
- double > float > ulong > long > uint > int > ushort > short > char
 

1. 자동 형변환
작은 자료형에서 큰 자료형으로 이동할 때 자동으로 형변환을 시켜줍니다.
서로 다른 데이터형 변수에 대입하거나 연산을 할 때 자동으로 형변환 되는 규칙이 있습니다.
단, 서로 다른 데이터형 일 때 큰쪽으로만 상승 변환되는 특징이 있습니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
    void Start()
    {
        int ii = 123;
        float ff = ii;     //자동 형변환 123.0f
        //int ii = ff;      //자동 형변환 불가능
		
        Debug.Log("ii = " + ii + " : ff " + ff);   //출력결과  ii = 123 : ff = 123
        
        long ll = 456L;
        ll = ii;          // 자동 형변환 가능 456L
        //ii = ll;        // 자동 형변환 불가능
    }    
}큰 데이터형 (float) 을 작은 데이터형(int)에 자동으로 대입할 수 없기 때문에
int ii = ff; , ii = ll 는 자동 형변환이 불가능합니다.
2. 수동 형변환 (강제 형변환)
큰자료형에서 작은 자료형으로 이동할 때 오류가 발생하는데 오류가 발생하지 않도록 강제적으로 형변환을 해주는 것입니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
    void Start()
    {
        float ff = 12.34f;
        int ii = (int)ff;            // 수동 형변환(강제 형변환)
        Debug.Log("ii : " + ii);     // 출력 결과  ii : 12
    }    
}//수동 형변환 활용 예
float xxx = 123.456f;
int MyInt = (int)xxx;
float MyFloat = xxx - (int)xxx;       //123.456f - 123;
Debug.Log(MyInt + " : " + MyFloat);   //123 : 0.4560013
3. 숫자형을 문자열로 변환하기
ToString() 메서드를 사용하여 숫자형을 문자열로 변환합니다.
int number = 123;
string text = number.ToString()      // "123"
float f_number = 3.14f;
string f_text = f_number.ToString() // "3.14"
4. 문자열을 숫자형으로 변환하기
int.Parse()를 사용하여 변환해 줄 수 있지만 특수 문자가 끼어 있으면 변환 에러가 발생하는 좀 위험한 함수입니다.
string EEE = "123";
int III = int.Parse(EEE);
Debug.Log(III);
int.TryParse("체크해야될 값" , out 리턴값) 함수를 사용하여 변환하는 것이 안전한 형변환입니다.
int FFF = 0;
int.TryParse("123", out FFF);
Debug.Log(FFF);          //출력결과 123
FFF = FFF + 5000;
Debug.Log(FFF);          //5123;
728x90
    
    
  '언어 > C#' 카테고리의 다른 글
| [C#] 고급 문법 LinQ(링큐) 알아보기 (3) | 2025.08.09 | 
|---|---|
| C# vs C++ (0) | 2025.04.04 | 
| Unity C# 기초 4. 제어문 if문 (조건문, 분기문) (0) | 2023.05.10 | 
| Unity C# 기초 3. 멤버변수, 지역변수 (1) | 2023.05.10 | 
| Unity C# 기초 1. 변수와 데이터형 (0) | 2023.05.09 | 
