Swift Academy · 강의

로캘 인식 형식 지정

로캘에 맞게 숫자, 날짜, 통화의 형식을 지정합니다.

레슨 3/413개 단계

로캘 인식 형식 지정은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

숫자는 어디서나 같지 않습니다

120만 0.50이라는 숫자는 US에서는 1,200,000.50, 독일에서는 1.200.000,50, 인도에서는 12,00,000.50으로 표시됩니다. 구분 기호나 형식을 하드코딩하면 세계 대부분의 지역에서 문제가 발생합니다. Swift의 FormatStyle API는 로캘에 따라 이를 올바르게 처리합니다.

import Foundation
let value = 1_200_000.5
print(value.formatted()) // uses current locale

formatted() 진입점

대부분의 표준 형식인 숫자, 날짜, 측정값, 목록에는 formatted() 메서드가 있습니다. 인수를 지정하지 않으면 로캘을 고려한 합리적인 기본값을 사용하고, 사용자 지정하려면 스타일을 전달하십시오.

import Foundation
let n = 1234.567
print(n.formatted())                      // default
print(n.formatted(.number.precision(.fractionLength(2))))

숫자 스타일

.number는 가장 기본적으로 많이 사용하는 스타일입니다. 그룹화, 소수 자릿수, 반올림, 부호 표시를 유연하게 구성할 수 있습니다. 실제 구분 기호 문자는 여전히 로캘이 결정합니다.

import Foundation
let x = 1234.5
print(x.formatted(
    .number
    .grouping(.automatic)
    .precision(.fractionLength(0...2))))

통화 형식 지정

금액에는 .currency(code:)를 사용하면 로캘에 맞게 기호, 그룹화, 소수 자릿수를 배치합니다. 같은 금액도 사용자의 지역에 따라 $1,200.00 또는 1.200,00 €€로 표시됩니다. 통화 문자열을 직접 만들지 마십시오.

import Foundation
let price = 1200.0
print(price.formatted(.currency(code: "USD")))
print(price.formatted(.currency(code: "EUR")))
print(price.formatted(.currency(code: "JPY")))

백분율 형식 지정

.percent는 값에 100을 곱하고 로캘의 백분율 기호를 추가합니다. 일부 언어에서 숫자와 기호 사이에 필요한 공백 규칙도 처리합니다.

import Foundation
let ratio = 0.875
print(ratio.formatted(.percent))
print(ratio.formatted(.percent.precision(.fractionLength(1))))

로캘 재정의

기본적으로 형식 지정에는 Locale.current가 사용됩니다. 특정 로캘을 강제하려면 테스트를 수행하거나 고정된 지역의 값으로 표시해야 할 때처럼 모든 스타일에 .locale(_:)을 연결하십시오.

import Foundation
let value = 1234567.89
let german = Locale(identifier: "de_DE")
print(value.formatted(.number.locale(german)))
// 1.234.567,89

날짜 형식 지정

날짜에는 고유한 스타일이 있습니다. .dateTime을 사용하면 원하는 필드(연, 월, 일, 시)를 조합할 수 있으며, 시스템은 로캘에 따라 순서를 정합니다. US에서는 월-일-년 순서이고 유럽 대부분의 지역에서는 일-월-년 순서입니다.

import Foundation
let now = Date()
print(now.formatted(
    .dateTime.year().month().day()))
print(now.formatted(date: .long, time: .shortened))

상대 날짜

RelativeDateTimeFormatter와 .relative 스타일을 사용하면 ‘2시간 전’ 또는 ‘3일 후’와 같은 문구를 완전히 번역하여 표시할 수 있습니다. 피드와 타임스탬프에 적합합니다.

import Foundation
let past = Date().addingTimeInterval(-3600)
let text = past.formatted(
    .relative(presentation: .named))
print(text) // e.g. "1 hour ago"

측정값과 단위

Measurement는 물리량의 형식을 지정하고 단위를 변환할 수 있습니다. 킬로미터와 마일 중 무엇을 표시할지는 로캘이 결정하며, 스타일은 단위 이름 자체도 로컬라이즈합니다.

import Foundation
let distance = Measurement(value: 5, unit: UnitLength.kilometers)
print(distance.formatted())
print(distance.formatted(
    .measurement(width: .wide)))

목록과 이름

항목을 연결하는 방식도 언어를 따릅니다. .list(type:)는 영어로는 apples, oranges, and pears를 생성하고, 다른 언어에서는 올바른 접속사와 구분 기호를 사용합니다. 쉼표와 ‘and’를 직접 삽입하지 마십시오.

import Foundation
let fruits = ["apples", "oranges", "pears"]
print(fruits.formatted(.list(type: .and)))
print(fruits.formatted(.list(type: .or)))

다시 구문 분석하기

FormatStyles는 양방향으로 변환할 수 있습니다. 스타일의 parseStrategy를 사용하거나 해당 스타일로 문자열에서 값을 초기화하면, 동일한 로캘 규칙을 적용하여 로컬라이즈된 텍스트를 숫자 또는 날짜로 변환합니다.

import Foundation
let style = Decimal.FormatStyle.Currency(code: "USD")
let amount = try? Decimal("$1,234.50", format: style)
print(amount ?? 0)

빠른 확인

금액에 적합한 도구를 떠올려 보십시오.

요약

FormatStyle을 통한 로캘 인식 형식 지정을 배웠습니다.

  • formatted()는 로캘에 맞는 기본값을 제공하며, 스타일을 전달해 사용자 지정할 수 있습니다.
  • .number, .currency(code:), .percent, .dateTime, .relative, .measurement, .list로 대부분의 요구 사항을 처리할 수 있습니다.
  • .locale(_:)을 연결해 지역을 재정의할 수 있으며, 스타일을 사용해 텍스트를 다시 구문 분석할 수도 있습니다.
  • 구분 기호, 통화 기호, 날짜 순서를 직접 만들지 마십시오.
무료로 시작

AI 튜터와 함께 Swift을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
122
레슨
409

자주 묻는 질문

“로캘 인식 형식 지정” 강의는 무료인가요?

네 — “로캘 인식 형식 지정” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“로캘 인식 형식 지정”에서 뭘 배우나요?

로캘에 맞게 숫자, 날짜, 통화의 형식을 지정합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“로캘 인식 형식 지정” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 문자열 카탈로그와 지역화된 문자열
  2. 복수형과 Stringsdict
  3. 로캘 인식 형식 지정
  4. 오른쪽에서 왼쪽 및 레이아웃 방향
← Swift Academy(으)로 돌아가기