C# - 숫자 앞에 0 붙이기

Amberjack·2023년 12월 28일
0

C# 문법

목록 보기
11/44

📌 오늘 발생한 문제!!!

오늘 팀 프로젝트 발표를 하면서 튜터님께서 피드백을 해주셨다. 게임 내 제한시간이 10초 이하로 떨어지면 0:9 와 같은 식으로 출력되었기 때문이다.

해당 문제를 확인하기 위해 "C# 숫자 앞에 0 붙이기"를 검색했다.

👉 숫자 앞에 0 붙이기

찾아보니 대충 3가지 방법이 있는 듯 하다.

  • PadLeft 함수
  • string.Format 함수
  • ToString() 함수

✨ PadLeft, PadRight 함수

전체 자리 수만큼 특정 문자를 채울 수 있는 함수라고 한다.
ex) Hello##### 을 출력하고 싶으면

string str = "Hello";

str.PadRight(5, '#');	// Hello#####

우리 게임의 경우

//str.PadLeft(전체 자리 수, 붙일 문자);

timeTxt.text = min + ":" + ((int)sec).ToString().PadLeft(2, '0');

🤔 string.Format

굉장히, 굉장히 많은 것을 할 수 있다!

int value = 1326;

// D : 10진법, X : 16진법
string result = String.Format("{0,10:D6} {0,10:X8}", value);

Console.WriteLine(result);
// The example displays the following output:
//     001326   0000052E

우리 게임의 경우

timeTxt.text = string.Format("{0}:{1, 0:D2}", min, (int)sec);

🎉 ToString()

ToString()에 표준 숫자 서식 문자를 사용하여 출력 자리 수를 제어할 수 있다!

우리 게임의 경우

timeTxt.text = min + ":" +((int)sec).ToString("D2");

😎 해결 방법!

실행 화면 ▼

0개의 댓글