Pemformatan yang Peka Lokal
Format bilangan, tanggal, dan mata uang sesuai lokal.
Pemformatan yang Peka Lokal adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.
Angka Tidak Bersifat Universal
Bilangan satu juta dua ratus ribu dibaca sebagai 1,200,000.50 di AS, 1.200.000,50 di Jerman, dan 12,00,000.50 di India. Menulis pemisah atau format secara langsung akan menyebabkan masalah bagi sebagian besar negara di dunia. API FormatStyle Swift menangani hal ini dengan benar untuk setiap locale.
import Foundation
let value = 1_200_000.5
print(value.formatted()) // uses current localeTitik Masuk formatted()
Sebagian besar tipe standar—angka, tanggal, pengukuran, dan daftar—memiliki metode formatted(). Tanpa argumen, metode ini menggunakan bawaan yang sesuai dengan locale; berikan gaya untuk menyesuaikannya.
import Foundation
let n = 1234.567
print(n.formatted()) // default
print(n.formatted(.number.precision(.fractionLength(2))))Gaya Angka
.number adalah pilihan utama. Anda dapat mengatur pengelompokan, panjang pecahan, pembulatan, dan tampilan tanda secara lancar. Locale tetap menentukan karakter pemisah yang sebenarnya.
import Foundation
let x = 1234.5
print(x.formatted(
.number
.grouping(.automatic)
.precision(.fractionLength(0...2))))Pemformatan Mata Uang
Untuk uang, .currency(code:) menempatkan simbol, pengelompokan, dan jumlah angka desimal dengan benar sesuai locale. Jumlah yang sama ditampilkan sebagai $1,200.00 atau 1.200,00 €€ bergantung pada wilayah pengguna—jangan pernah membuat teks mata uang secara manual.
import Foundation
let price = 1200.0
print(price.formatted(.currency(code: "USD")))
print(price.formatted(.currency(code: "EUR")))
print(price.formatted(.currency(code: "JPY")))Pemformatan Persentase
.percent mengalikan nilai dengan 100 dan menambahkan tanda persen sesuai locale, termasuk menangani aturan spasi yang diwajibkan beberapa bahasa di antara angka dan simbol.
import Foundation
let ratio = 0.875
print(ratio.formatted(.percent))
print(ratio.formatted(.percent.precision(.fractionLength(1))))Mengganti Locale
Secara bawaan, pemformatan menggunakan Locale.current. Untuk memaksa penggunaan locale tertentu—untuk pengujian atau untuk menampilkan nilai dalam wilayah tetap—rangkaikan .locale(_:) ke gaya apa pun.
import Foundation
let value = 1234567.89
let german = Locale(identifier: "de_DE")
print(value.formatted(.number.locale(german)))
// 1.234.567,89Pemformatan Tanggal
Tanggal memiliki gayanya sendiri. .dateTime memungkinkan Anda menggabungkan kolom yang diinginkan (tahun, bulan, hari, jam), lalu sistem mengurutkannya sesuai locale—bulan-hari-tahun di AS, dan hari-bulan-tahun di sebagian besar Eropa.
import Foundation
let now = Date()
print(now.formatted(
.dateTime.year().month().day()))
print(now.formatted(date: .long, time: .shortened))Tanggal Relatif
RelativeDateTimeFormatter dan gaya .relative menghasilkan frasa seperti 2 jam yang lalu atau dalam 3 hari, yang sepenuhnya diterjemahkan. Sangat cocok untuk umpan dan penanda waktu.
import Foundation
let past = Date().addingTimeInterval(-3600)
let text = past.formatted(
.relative(presentation: .named))
print(text) // e.g. "1 hour ago"Pengukuran dan Satuan
Measurement memformat besaran fisik dan dapat mengonversi satuan. Locale menentukan apakah kilometer atau mil yang ditampilkan, sedangkan gaya menerjemahkan nama satuannya sendiri.
import Foundation
let distance = Measurement(value: 5, unit: UnitLength.kilometers)
print(distance.formatted())
print(distance.formatted(
.measurement(width: .wide)))Daftar dan Nama
Bahkan penggabungan item mengikuti aturan bahasa. .list(type:) menghasilkan apples, oranges, and pears dalam bahasa Inggris, serta konjungsi dan pemisah yang benar dalam bahasa lain—hindari menyisipkan koma dan kata and secara manual.
import Foundation
let fruits = ["apples", "oranges", "pears"]
print(fruits.formatted(.list(type: .and)))
print(fruits.formatted(.list(type: .or)))Mengurai Kembali
FormatStyles dapat dibalik. parseStrategy milik suatu gaya (atau inisialisasi nilai dari teks menggunakan gaya tersebut) mengonversi teks terlokalisasi kembali menjadi angka atau tanggal dengan mengikuti aturan locale yang sama.
import Foundation
let style = Decimal.FormatStyle.Currency(code: "USD")
let amount = try? Decimal("$1,234.50", format: style)
print(amount ?? 0)Pemeriksaan Singkat
Ingat kembali alat yang tepat untuk uang.
Ringkasan
Anda telah mempelajari pemformatan yang sesuai dengan locale melalui FormatStyle:
formatted()memberikan bawaan yang benar untuk locale; berikan gaya untuk menyesuaikannya..number,.currency(code:),.percent,.dateTime,.relative,.measurement, dan.listmencakup sebagian besar kebutuhan.- Rangkaikan
.locale(_:)untuk mengganti wilayah; gaya juga dapat mengurai teks kembali. - Jangan pernah membuat pemisah, simbol mata uang, atau urutan tanggal secara manual.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pemformatan yang Peka Lokal” gratis?
Ya — teks lengkap “Pemformatan yang Peka Lokal” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pemformatan yang Peka Lokal”?
Format bilangan, tanggal, dan mata uang sesuai lokal. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Swift Academy?
Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Pemformatan yang Peka Lokal” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?
Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Katalog String dan String Terlokalisasi
- Pluralisasi dan Stringsdict
- Pemformatan yang Peka Lokal
- Kanan-ke-Kiri dan Arah Tata Letak