Tür Dönüşümü
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 34 / 86.
readLine() bir String? döndürdüğünden, hesaplamalar yapmak için bu dizeyi genellikle bir sayıya dönüştürmeniz gerekir. Swift, açıkça tür dönüşümü yapılmasını gerektirir. Bir dizeyi otomatik olarak tamsayıya veya double'a dönüştürmez.
Bir string'i integer'a dönüştürmek için Int() başlatıcısını kullan. Dönüştürme başarısız olabileceğinden (string rakamlar yerine harfler içerebilir), bir optional döndürür:
let input = "42"
if let number = Int(input) {
print(number + 10) // Çıktı: 52
}Ondalık sayılar için Double() kullanın:
let priceString = "19.99"
if let price = Double(priceString) {
print(price * 2) // Çıktı: 39.98
}Bu, readLine() işlevini sayısal işlemlerle birleştirirken özellikle kullanışlıdır. Açmayı zincirleme olarak gerçekleştirebilirsin:
if let input = readLine(), let age = Int(input) {
print("Next year you'll be \(age + 1)")
}if let ifadesindeki virgül, her iki koşulun da başarılı olması gerektiği anlamına gelir: input mevcut olmalı ve bir integer değerine dönüştürülebilmelidir.
Görev
Kolayİki girdi okuyun: dize olarak bir ondalık sayı ve dize olarak bir tamsayı. Bunları uygun sayısal türlerine dönüştürün ve çarpımlarını hesaplayın.
Aşağıdaki girdileri alacaksınız:
- İlk satır: Bir ondalık sayı (ör.
"3.5") - İkinci satır: Bir tamsayı (ör.
"4")
Her iki girdiyi de okumak için readLine() kullanın. İlk girdiyi Double türüne, ikincisini ise Int türüne dönüştürün. Ardından bunları birbiriyle çarpın ve sonucu yazdırın.
Hem girdinin hem de dönüştürülen değerin güvenli bir şekilde açılması için zincirlenmiş isteğe bağlı bağlamayla if let kullanın.
Yazdırın: İki sayının Double türündeki çarpımını
Kendin dene
// Ondalık sayıyı bir string olarak oku
if let decimalString = readLine() {
// Tam sayıyı bir string olarak oku
if let intString = readLine() {
// TODO: Kodunuzu aşağıya yazın
// decimalString'i Double'a ve intString'i Int'e if let kullanarak dönüştür
// Sonra çarpımlarını hesapla ve yazdır
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik GirdiKendi başına pratik yap: Swift playground