수색…


소개

Format-Specifier는 객체 - 값을 문자열에 삽입하기 위해 Objective-c에서 사용됩니다.

통사론

  • % @ // String
  • % d // 부호있는 32 비트 정수
  • % D // 부호있는 32 비트 정수
  • % u // 부호없는 32 비트 정수
  • % U // 부호없는 32 비트 정수
  • % x // 소문자 16 진수 형식의 부호없는 32 비트 정수
  • % X // UPPERCASE 16 진수 형식의 부호없는 32 비트 정수
  • % o // 8 진수 형식의 부호없는 32 비트 정수
  • % O // 8 진수 형식의 부호없는 32 비트 정수
  • % f // 64 비트 부동 소수점 수
  • % F // 10 진수 표기법으로 인쇄 된 64 비트 부동 소수점 숫자
  • % e // 소문자 과학 표기법 형식의 64 비트 부동 소수점 숫자
  • % E // UPPERCASE 과학 표기법 형식의 64 비트 부동 소수점 숫자
  • % g // 4 개의 시그마 무화과를 사용할 수 없을 때 % f를 사용하는 특별한 경우 % e, 그렇지 않으면 % e
  • % G // 4 개의 시그마 무화과를 사용할 수 없을 때 % f를 사용하는 특별한 경우 % E, 그렇지 않으면 % E
  • % c // 8 비트 부호없는 문자
  • % C // 16 비트 UTF-16 코드 단위
  • % s // UTF8 문자열
  • % S // 16 비트 변형 % s
  • % p // 소문자 16 진수 형식의 'Void Pointer'앞에 '0x'
  • % zx // 선행 '0x'를 제거하는 특별한 경우 % p (no-type 캐스트와 함께 사용)
  • % a // 첨자 '0x'를 갖는 과학 표기법의 64 비트 부동 소수점 숫자와 'p'를 사용하여 지수를 표시하는 소수점 앞에 한 16 진수.
  • % A // 첨자 '0x'를 갖는 과학 표기법의 64 비트 부동 소수점 숫자와 'P'를 사용하여 지수를 표기하는 소수점 앞에 한 16 진수.

비고

형식 지정자의 특성상 문자열에 백분율 기호 (%)를 포함하려면 두 번째 백분율 기호를 사용하여 이스케이프해야합니다.

예:

int progress = 45;//percent
NSString *progressString = [NSString stringWithFormat:@"Progress: %i%%", (int)progress];

NSLog(progressString);//logs "Progress: 45%"

BOOL 유형에 대한 형식 지정자가 없습니다.

공통적 인 솔루션은 다음과 같습니다.

BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %@", myBool?@"true":@"false"];

NSLog(boolState);//logs "true"

문자열 대응 문자열을 캐스팅 할 때 삼항 연산자를 사용합니다.

BOOL myBool = YES;
NSString *boolState = [NSString stringWithFormat:@"BOOL state: %i", myBool];

NSLog(boolState);//logs "1" (binary)

이진 동등 물을 이식하기 위해 (int) 형 변환을 사용합니다.

정수 예 - % i

int highScore = 57;
NSString *scoreBoard = [NSString stringWithFormat:@"HighScore: %i", (int)highScore];

NSLog(scoreBoard);//logs "HighScore: 57"


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow