TIL - 23.12.28

Amberjack·2023년 12월 28일
0

TIL

목록 보기
6/83

😭 오늘 있었던 일... 😭😭😭😭😭😭😭😭😭😭

오늘은 내일배움캠프에서 처음으로 팀 프로젝트 발표가 있었다.

그런데 하필! 내 앞 조가 너무너무 잘 했고 하필! 내가 소리 공유를 켜야하는지 몰랐어서 발표를 망쳤다... 팀원들을 볼 면목이 없다... 너무 부끄럽다.. 다음부터는 발표 자료도 더 신경 쓰고, 소리 공유를 특히 신경 써야 겠다...

📌 해결한 문제

오늘 팀 프로젝트 발표를 하면서 튜터님께서 피드백을 해주셨다. 게임 내 제한시간이 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개의 댓글