Загружаем каталог…
Загружаем каталог…
보통 코딩할 때 int 나 string 을 많이 쓰게 되는데, 가끔 char , float 로 형변환하여 쓰게 되는 경우가 있다. 그때마다 문법이 헷갈려서 매번 찾아보았기에 따로 정리해보고자 한다. 자료형 바이트 크기 비트 크기 범위 byte $2^0=1$ 바이트 8 비트 0~255 sbyte 1 바이트 8 비트 -128 ~ 127 short $2^1=2$ 바이트 16 비트 -32,768 ~ 32,767 ushort 2 바이트 16 비트 0 ~ 65,535 int $2^2=4$ 바이트 32 비트 약 -21억 ~ 21억 uint 4 바이트 32 비트 0 ~ 약 42억 long $2^3=8$ 바이트 64 비트 약 -922경 ~ 922경 ulong 8 바이트 64 비트 0 ~ 약 1,844경 지난번에 정리했던 표이다. 형변환시 주의할 점은 바이트 크기가 작아지게 형변환을 하게 되면 (ex : long → int 로 변환) 자료형 크기가 달라서 데이터 손실이 발생한다. int ↔ char C#의 char 는 문자 하나를 저장하는 자료형이다. 영문 알파벳의 대문자와 소문자는 문자 코드 값이 32만큼 차이난다. 예를 들어: 'A' = 65 'a' = 97 'B' = 66 'b' = 98 따라서 char 를 int 로 변환해 문자 코드 값을 얻은 뒤, 32를 더하거나 빼서 대문자/소문자로 바꿀 수 있다. char to int 예제 문자의 코드 값을 숫자로 사용해야 할 때 형변환할 수 있다. char upper = 'A'; // char → int int code = (int)upper; Console.WriteLine(code); // 65 이 값을 이용해 소문자로 변환할 수 있다. char upper = 'A'; // 'A'의 문자 코드 65를 가져온다. int code = (int)upper; // 대문자와 소문자의 코드 값 차이인 32를 더한다. char lower = (char)(code + 32); Console.WriteLine(lower); // a int to char 예제 숫자로 계산한 문자 코드 값을 다시 문자로 바꿀 때 사용한다. 예를 들어 소문자를 대문자로 바꿀 수 있다. char lower = 'b'; // char → int 후 32를 빼고 다시 char로 변환 char upper = (char)((int)lower - 32); Console.WriteLine(upper); // B 문자열에서 특정 문자를 가져와 변환하는 경우에도 사용할 수 있다. string input = "game"; char first = input[0]; // g → G char upperFirst = (char)((int)first - 32); Console.WriteLine(upperFirst); // G 단순히 대문자/소문자를 변환해야 한다면 위 방법보다 char.ToUpper() 와 char.ToLower() 를 사용하는 편이 안전하다. char lower = 'g'; char upper = char.ToUpper(lower); Console.WriteLine(upper); // G // ToLower()도 동일. int ↔ float int 는 정수만 저장하고, float 는 소수점을 포함한 값을 저장한다. 게임에서는 체력 비율, 진행도, 확률처럼 정수 값을 소수 비율로 계산해야 할 때 자주 사용한다. int to float 예제 int 를 float 에 넣는 것은 자동 형변환이 가능하다. 하지만 나눗셈에서는 주의해야 한다. 정수/정수 나눗셈이라 원하는 값이 아닌 0 이 출력될 수도 있다. 소수점 결과가 필요하다면 한쪽을 float로 형변환해야 한다. Unity UI에서 체력 비율을 표현할 때도 사용할 수 있다. int currentHp = 75; int maxHp = 100; // Slider가 0 ~ 1 범위를 사용하는 경우 hpSlider.value = (float)currentHp / maxHp; float to int 예제 float를 int로 변환하면 소수점 아래 값은 버려진다. float damage = 15.8f; // float → int int result = (int)damage; Debug.Log(result); // 15 반올림이 아니라 소수 부분이 제거되는 방식이다. float value = -15.8f; int result = (int)value; Debug.Log(result); // -15 float → int : 명시적 형변환 필요 int / int는 정수 나눗셈, 소수 비율 계산이 필요하면 한쪽을 float로 변환 float → int 변환 시 소수점 아래 값은 버려짐 int ↔ string int 는 계산에 사용하는 숫자이고, string 은 화면 출력이나 사용자 입력처럼 문자열을 다룰 때 사용한다. 게임에서는 골드 , 체력 , 점수 등을 UI에 표시할 때 int 를 string 으로 변환하는 경우가 많다. int to string 예제 ToString() 을 사용해 숫자를 문자열로 변환할 수 있다. int gold = 1500; // int → string string goldText = gold.ToString(); Debug.Log(goldText); // "1500" Unity UI에 숫자를 표시할 때 사용할 수 있다. int gold = 1500; // 숫자를 문자열로 변환하여 UI에 표시 _goldText.text = gold.ToString(); string to int 예제 문자열로 받은 숫자를 실제 계산에 사용하려면 int로 변환해야 한다. string input = "1500"; // string → int int gold = int.Parse(input); Debug.Log(gold); // 1500 int.Parse()는 변환할 수 없는 문자열이 들어오면 예외가 발생한다. string input = "Gold"; // 숫자가 아니므로 예외 발생 int gold = int.Parse(input); 사용자 입력처럼 값이 확실하지 않은 경우에는 TryParse()를 사용하는 편이 안전하다. string input = "1500"; if (int.TryParse(input, out int gold)) { Debug.Log(gold); } else { Debug.Log("숫자로 변환할 수 없습니다."); } int → string : ToString() string → int : int.Parse() 입력값이 확실하지 않으면 int.TryParse() 사용 string ↔ char string은 여러 문자를 저장, char는 문자 하나만 저장 문자열에서 특정 위치의 문자 하나를 가져오거나, 문자 하나를 다시 문자열로 사용할 때 형 변환이 필요하다. string to char 예제 문자열의 특정 위치에 있는 문자는 index 로 가져올 수 있다. string playerName = "Player"; // 문자열의 첫 번째 문자 char firstLetter = playerName[0]; Debug.Log(firstLetter); // P 예를 들어 입력된 문자열의 첫 글자를 검사할 때 사용할 수 있다. string command = "Attack"; char firstLetter = command[0]; if (firstLetter == 'A') { Debug.Log("A로 시작하는 명령어"); } 문자열 전체가 문자 하나라는 것이 확실하다면 char.Parse() 를 사용할 수도 있다. string input = "A"; // 길이가 1인 string → char char key = char.Parse(input); Debug.Log(key); // A char.Parse() 는 문자열 길이가 1이 아니면 예외가 발생한다. char to string 예제 문자 하나를 문자열로 사용해야 할 때는 ToString() 을 사용한다. char grade = 'A'; // char → string string gradeText = grade.ToString(); Debug.Log(gradeText); // "A" UI에 문자 하나를 표시할 때도 사용할 수 있다. char rank = 'S'; _rankText.text = rank.ToString(); string → char : 특정 위치는 문자열[index] 문자열 전체가 한 글자라면 char.Parse() char → string : ToString()
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
[C#] 형 변환 족보. 보통 코딩할 때 int 나 string 을 많이 쓰게 되는데, 가끔 char , float 로 형변환하여 쓰게 되는 경우가 있다. 그때마다 문법이 헷갈려서 매번 찾아보았기에 따로 정리해보고자 한다. 자료형 바이트 크기 비트 크기 범위 byte $2^0=1$ 바이트 8 비트 0~255 sbyte 1 바이트 8 비트 -128 ~ 127 short $2^1=2$ 바이트 16 비트 -32,768 ~ 32,767 ushort 2 바이트 16 비트 0 ~ 65,535 int $2^2=4$ 바이트 32 비트 약 -21억 ~ 21억 uint 4 바이트 32 비트 0 ~ 약 42억 long $2^3=8$ 바이트 64 비트 약 -922경 ~ 922경 ulong 8 바이트 64 비트 0 ~ 약…
Открыть источник