Creating a String Using Formats
init(format: String, _ arguments: CVarArg...)
init(format: String, arguments: [CVarArg])
- 포맷 문자열을 통해서 String을 초기화 할 수 있다.(자세한 포맷은 String Format Specifiers 을 참조)
let str1 = String(format: "%@ %d개.", "사과", 5)
// "사과 5개."
let str2 = String(format: "%@ %d개.", arguments: ["사과", 6])
// "사과 6개."
init(format: String, locale: Locale?, _ args: CVarArg...)
init(format: String, locale: Locale?, arguments: [CVarArg])
- 스페인어에서의 숫자의 서식은 다르게 사용된다. 예를 들어 10000.00을 스페인어에서는 10.000,00으로 표기하고 우리는 10,000.00으로 표시한다. 특정 locale을 인자로 하여 String을 초기화 할 수 있다.
let str1 = String(format: "%@ 한 개당 가격은 %.2f %@.", locale: Locale(identifier: "es_ES"), "사과", 10000.0, "원")
// "사과 한 개당 가격은 10.000,00 원."
let str2 = String(format: "%@ 한 개당 가격은 %.2f %@.", locale: Locale(identifier: "ko_KR"), "사과", 10000.0, "원")
// "사과 한 개당 가격은 10,000.00 원."
static func localizedStringWithFormat(_ format: String, _ arguments: CVarArg...) -> String
- 지정된 형식 문자열을 템플릿으로 사용하여 생성한 문자열을 반환합니다. (지정된 형식 문자열의 인자는 사용자의 기본 locale에 따라서 대치 됩니다.)
Converting Numeric Values
init<T>(_ value: T, radix: Int = 10, uppercase: Bool = false) where T : BinaryInteger
- radix 인자로 넘겨 받은 진법으로 value의 값을 String으로 변환합니다.
- radix는 2 ~ 36까지 지원합니다.
- v 변수의 999_999에서 사용된 underscore(_) 는 가독성을 위해 swift에서 지원하는 기능입니다.
- 9이상의 숫자는 로마자로 표시되고 'a' 부터 사용됩니다.
- uppercase 인자를 true로 전달하면 로마자를 대문자로 하여 문자열을 초기화합니다.
let v = 999_999
print(String(v, radix: 2))
// Prints "11110100001000111111"
print(String(v, radix: 16))
// Prints "f423f"
print(String(v, radix: 16, uppercase: true))
// Prints "F423F"
print(String(v, radix: 10))
// Prints "999999"
참고문서
https://developer.apple.com/documentation/swift/string
https://books.apple.com/us/book/the-swift-programming-language-swift-5-1/id881256329
'코딩코오딩' 카테고리의 다른 글
[Swift] String - #7 Initializer(4) : Converting Other Types to Strings (0) | 2020.02.23 |
---|---|
[Swift] String - #7 Initializer(3) : Converting a C String (0) | 2020.02.23 |
[Swift] String - #7 Initializer(1) : Creating a String from Unicode Data (0) | 2020.02.18 |
[Swift] String - #6 Unicode (0) | 2020.02.17 |
[Swift] String - #5 Comparing Strings (0) | 2020.02.16 |