ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • swift - String interpolation, Format Specifier, Escape Sequence
    swift 2021. 1. 6. 17:09

    String interpolation

    // 문자열을 동적으로 처리
    var str = "12.34KB"
    
    let size = 12.34
    
    // 두 값의 자료형이 일치하지 않아서 에러
    // str = size + "KB"
    
    // 이렇게하면 되긴 하는데 거의 이렇게 하지 않고 String Interpolation 사용
    str = String(size) + "KB"
    
    // String Interpolation
    str = "\(size)KB"
    
    
    // 그러나 단점
    // 직관적으로 확인할 수 있지만 자료형을 직접 명시해서 지정할 수 없음

    Format Specifier

    // 원하는 자료형을 직접지정하고 싶다면 다음 방법 사용
    // %.1 -> 포맷 지정자
    // 소수점 한자리 수 까지 표현하는 것
    str = String(format: "%.1fKB", size)
    
    // %@ -> 문자열
    String(format: "Hello, %@", "Swift")
    
    // %d -> 정수
    String(format: "%d", "12")
    
    // %f -> 실수
    String(format: "%f", "12.34")
    
    // 실수를 소수점 세번째 자리까지
    String(format: "%.3f", "12.34")
    
    // 전체 문자를 10자리로 만든다음 소수점 세번째 자리 까지
    String(format: "%10.3f", "12.34")
    
    // 전체 10자리중 12.340 을 제외한 부분을 0으로 채움
    String(format: "%010.3f", "12.34")
    
    
    String(format: "[%d]", 123)
    // 양수면 오른쪽 정렬
    String(format: "[%10d]", 123)
    // 음수면 왼쪽 정렬
    String(format: "[%-10d]", 123)
    
    
    let firstName = "Yoon-ah"
    let lastName = "Lim"
    
    // 한국은 성이 먼저오니까 포맷 지정자에서 순서를 바꾼다.
    // let korFomat = "그녀의 이름은 %@ %@ 입니다."
     let korFomat = "그녀의 이름은 %2@ %1@ 입니다."
    let engFormat = "Her name is %@ %ㄹ@."
    
    String(format: korFomat, firstName, lastName)
    String(format: engFormat, firstName, lastName)

    Escape Sequence

    // escape 시퀀스
    
    
    str = "\\"
    print(str)
    print("A\tB")
    
    print("C\nD")
    
    print("\"Hello he said.")

    'swift' 카테고리의 다른 글

    swift - String Index  (0) 2021.01.06
    swift - New String Interpolation System(swift 5+)  (0) 2021.01.06
    swift - Raw String  (0) 2021.01.06
    swift - Tuples  (0) 2021.01.05
    swift - Escaping Closure  (0) 2021.01.05

    댓글

Designed by Tistory.