0Pricing
Swift Academy · Pelajaran

Konversi Numerik Eksplisit

Konversikan antarjenis numerik secara sengaja untuk menghindari kesalahan.

Konversi Numerik Eksplisit 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.

Swift Memerlukan Konversi Eksplisit

Swift tidak otomatis mengonversi antarjenis numerik. Untuk menggabungkan Int dan Double, Anda harus mengonversi salah satunya secara eksplisit.

let count = 3
let price = 2.5
let total = Double(count) * price
print(total)

Mengapa Tidak Ada Konversi Implisit

Konversi implisit dapat diam-diam menghilangkan data atau mengubah makna. Swift mengharuskan Anda menyatakan maksud, sehingga mencegah kesalahan yang sulit dideteksi.

let whole = 7
let fraction = 0.5
let result = Double(whole) + fraction
print(result)

Mengonversi Int ke Double

Bungkus bilangan bulat dengan Double(...) untuk mendapatkan bentuk koma mengambangnya. Hal ini diperlukan sebelum melakukan pembagian riil.

let a = 7
let b = 2
let ratio = Double(a) / Double(b)
print(ratio)

Mengonversi Double ke Int

Int(...) pada Double memotong ke arah nol dan membuang bagian pecahan, bukan membulatkannya.

let value = 3.99
print(Int(value))
print(Int(-3.99))

Membulatkan Sebelum Mengonversi

Jika Anda menginginkan pembulatan, bukan pemotongan, panggil .rounded() terlebih dahulu, lalu konversikan ke Int.

let value = 3.6
let rounded = Int(value.rounded())
print(rounded)

Mengonversi Antarjenis Bilangan Bulat

Bahkan konversi dari bilangan bulat ke bilangan bulat lain memerlukan konversi eksplisit, seperti Int(small) atau Int8(big), karena rentangnya berbeda.

let small: Int8 = 100
let big: Int = Int(small)
print(big + 1000)

Konversi yang Meluap

Mengonversi nilai yang tidak sesuai dengan tipe tujuan menyebabkan penghentian saat program berjalan. Validasi rentangnya terlebih dahulu jika Anda tidak yakin.

let n = 200
if n <= Int(Int8.max) {
    print("fits")
} else {
    print("would overflow Int8")
}

Penginisialisasi Numerik yang Dapat Gagal

Beberapa konversi menggunakan penginisialisasi yang dapat gagal, seperti Int8(exactly:), yang mengembalikan nilai opsional dan menghasilkan nil jika nilai tersebut tidak benar-benar sesuai.

let ok = Int8(exactly: 100)
let bad = Int8(exactly: 300)
print(ok as Any)
print(bad as Any)

Konversi String ke Bilangan

Mengonversi String menjadi bilangan juga harus dilakukan secara eksplisit dan dapat gagal, sehingga menghasilkan nilai opsional jika teks tersebut bukan bilangan yang valid.

let text = "42"
if let n = Int(text) {
    print("Parsed:", n)
}
print(Int("hello") as Any)

Menggabungkan Matematika dengan Tipe Numerik Campuran

Pola yang umum adalah mengonversi semua operand ke tipe yang sama, melakukan perhitungan, lalu mengonversi kembali hasil akhirnya jika diperlukan.

let items = 5
let pricePerItem = 1.99
let total = Double(items) * pricePerItem
let rounded = (total * 100).rounded() / 100
print("Total:", rounded)

Konversi Menjaga Keamanan Kode

Konversi eksplisit mendokumentasikan tempat terjadinya perubahan presisi, sehingga kode numerik lebih mudah diaudit dan dipahami.

let measured = 9.81
let asInt = Int(measured)
let backToDouble = Double(asInt)
print(measured, asInt, backToDouble)

Pemeriksaan Singkat

Perkirakan hasil konversi Double ke Int.

Ringkasan: Konversi Numerik Eksplisit

Anda telah mempelajari bahwa Swift tidak pernah mengonversi tipe numerik secara implisit, bahwa Int(...) memotong Double sedangkan Double(...) memperluas Int, dan bahwa penginisialisasi yang dapat gagal seperti Int8(exactly:) dan Int("text") mengembalikan nilai opsional ketika konversi tidak dapat berhasil.

let pieces = 7
let share = Double(pieces) / 2.0
print("Share:", share)
print("Truncated:", Int(share))

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Konversi Numerik Eksplisit” gratis?

Ya — teks lengkap “Konversi Numerik Eksplisit” 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 “Konversi Numerik Eksplisit”?

Konversikan antarjenis numerik secara sengaja untuk menghindari kesalahan. 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 “Konversi Numerik Eksplisit” 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

  1. Tipe Bilangan Bulat dan Rentangnya
  2. Bilangan Titik Mengambang: Double vs Float
  3. Konversi Numerik Eksplisit
  4. Literal Numerik dan Garis Bawah
← Kembali ke Swift Academy