형식 문자열, 선행 0이있는 정수


97

이 코드를 사용합니다.

NSString* strName = [NSString stringWithFormat:@"img_00%d.jpg", pp];

잘 작동하지만, 예를 들어 pp가 10의 값을 취했다면 img_0010.jpg가 아닌 img_010.jpg를 결과로 원합니다. 문자열을 어떻게 포맷 할 수 있습니까 ??

감사

답변:


249

형식 문자열 "img_%03d.jpg"을 사용하여 3 자리 숫자와 선행 0이있는 10 진수를 가져옵니다.


5

후손을 위해 : 이것은 십진수로 작동합니다.

NSString *nmbrStr = @"0033620340000" ;
NSDecimalNumber *theNum = [[NSDecimalNumber decimalNumberWithString:nmbrStr]decimalNumberByAdding: [NSDecimalNumber one]] ;     
NSString *fmtStr = [NSString stringWithFormat:@"%012.0F",[theNum doubleValue]] ;

이 정보는 찾기 어렵지만 실제로는 기본 서식 아래의 두 번째 단락에 설명되어 있습니다. % 문자를 찾으십시오.

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/FormatStrings.html


1
여기서 "12" @"%012.0F"는 소수점과 오른쪽의 모든 것을 포함하여 총 자릿수 를 나타냅니다.
bcattle

bcattle의 의견에 추가하려면 오른쪽 에있는 모든 것도 포함됩니다 . -012.34를 표시하려면 다음을 사용해야합니다.@"%07.2f"
n_b
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.