일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- KRAFTON JUNGLE
- 유니티
- 백준
- 알고리즘
- anonymous page
- kraftonjungle
- 핀토스
- 전쟁-전투
- pintos
- project3
- 티스토리챌린지
- 크래프톤 정글 4기
- 연결리스트
- 파이썬
- User Stack
- C
- 네트워크
- 4기
- 알고리즘수업-너비우선탐색2
- 오블완
- 다익스트라
- c#
- 크래프톤정글
- 추상클래스와인터페이스
- Unity
- 크래프톤 정글
- 크래프톤정글4기
- TiL
- BFS
- 이벤트 함수 실행 순서
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#' 카테고리의 다른 글
Unity C# 기초 4. 제어문 if문 (조건문, 분기문) (0) | 2023.05.10 |
---|---|
Unity C# 기초 3. 멤버변수, 지역변수 (0) | 2023.05.10 |
Unity C# 기초 1. 변수와 데이터형 (0) | 2023.05.09 |