0Pricing
Swift Academy · Ders

Açık Sayısal Dönüşümler

Hataları önlemek için sayısal türler arasında bilinçli dönüşüm yapın.

Açık Sayısal Dönüşümler, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.

Swift Açık Dönüştürme Gerektirir

Swift, sayısal türler arasında otomatik olarak dönüşüm yapmaz. Bir Int ile Double değerini birleştirmek için birini açıkça dönüştürmeniz gerekir.

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

Örtük Dönüştürme Neden Yok

Örtük dönüştürmeler verileri sessizce kaybedebilir veya anlamı değiştirebilir. Swift, niyetinizi açıkça belirtmenizi sağlayarak fark edilmesi zor hataları önler.

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

Int Türünü Double Türüne Dönüştürme

Bir tamsayıyı Double(...) içine alarak kayan noktalı biçimine dönüştürün. Gerçek bölme yapmadan önce bu işlem gereklidir.

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

Double Türünü Int Türüne Dönüştürme

Bir Double üzerinde Int(...) kullanmak yuvarlama yapmaz; kesirli kısmı atarak sıfıra doğru keser.

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

Dönüştürmeden Önce Yuvarlama

Kesmek yerine yuvarlamak istiyorsanız önce .rounded() yöntemini çağırın, ardından Int türüne dönüştürün.

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

Tamsayı Türleri Arasında Dönüştürme

Int(small) veya Int8(big) örneklerinde olduğu gibi, tamsayıdan tamsayıya dönüşümde bile açık dönüştürme gerekir; çünkü değer aralıkları farklıdır.

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

Taşmaya Neden Olan Dönüştürme

Hedef türe sığmayan bir değeri dönüştürmek çalışma zamanında hataya yol açar. Emin olmadığınızda önce aralığı doğrulayın.

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

Başarısız Olabilen Sayısal Başlatıcılar

Bazı dönüşümlerde, isteğe bağlı değer döndüren Int8(exactly:) gibi başarısız olabilen başlatıcılar kullanılır; değer tam olarak sığmadığında nil dönerler.

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

Dizgeden Sayıya Dönüştürme

Bir String değerini sayıya dönüştürmek de açıkça yapılır ve başarısız olabilir; metin geçerli bir sayı olmadığında isteğe bağlı bir değer döndürülür.

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

Farklı Sayısal Türlerle İşlemleri Birleştirme

Yaygın yaklaşım şöyledir: tüm işlenenleri ortak bir türe dönüştürün, işlemi yapın, ardından gerekirse son sonucu yeniden dönüştürün.

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

Dönüştürme Kodu Güvenli Tutar

Açık dönüştürmeler, kesinlik değişikliklerinin nerede gerçekleştiğini belgelendirerek sayısal kodun denetlenmesini ve anlaşılmasını kolaylaştırır.

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

Kısa Kontrol

Bir Double değerini Int türüne dönüştürmenin sonucunu tahmin edin.

Özet: Açık Sayısal Dönüştürmeler

Swift'in sayısal türleri hiçbir zaman örtük olarak dönüştürmediğini, Int(...) işleminin Double değerlerini kestiğini, Double(...) işleminin Int değerlerini daha geniş bir türe dönüştürdüğünü ve Int8(exactly:) ile Int("text") gibi başarısız olabilen başlatıcıların dönüşüm başarılı olamadığında isteğe bağlı değerler döndürdüğünü öğrendiniz.

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

Sıkça Sorulan Sorular

“Açık Sayısal Dönüşümler” dersi ücretsiz mi?

Evet — “Açık Sayısal Dönüşümler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.

“Açık Sayısal Dönüşümler” dersinde ne öğreneceğim?

Hataları önlemek için sayısal türler arasında bilinçli dönüşüm yapın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Açık Sayısal Dönüşümler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Tamsayı Türleri ve Aralıkları
  2. Ondalıklı Sayılar: Double ve Float Karşılaştırması
  3. Açık Sayısal Dönüşümler
  4. Sayısal Sabitler ve Alt Çizgiler
← Swift Academy Sayfasına Dön