Saya mencoba mencari cara untuk melemparkan Int
ke String
dalam Swift.
Saya mencari solusi, menggunakan NSNumber
tetapi saya ingin mencari tahu bagaimana melakukan semuanya di Swift.
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
toString
fungsi, yang ditunjukkan dalam jawaban di bawah ini.Int
tampaknya tidak memilikitoString()
metode setidaknya tidak dalam edit Xcode 6.2: Saya melihat bahwa adatoString
metode global ( tidakInt.toString()
), ada yang tahu keuntungan daripada menggunakanString()
konstruktor?String(Int?)
menulis "Opsional (Int)", setidaknya di Swift 2, itu tidak mungkin yang Anda maksud. Gunakan sebagai gantinyaInt?.description
String(describing: x)
Periksa Jawaban Di Bawah Ini:
sumber
String
sudah memiliki konstruktor yang menerimaInt
String
memiliki konstruktor yang menerimaInt
. Jauh lebih jelas dan ringkas.Berikut adalah 4 metode:
Saya dapat membayangkan bahwa beberapa orang akan memiliki masalah dengan ss. Tetapi jika Anda ingin membuat string yang berisi konten lain, mengapa tidak.
sumber
var ss = "\(x)"
Contoh Anda persis seperti yang mereka sarankan untuk mengubah ganda menjadi string. Yang saya pikir itu mudah dan hebat.String(describing:)
seharusnya tidak pernah digunakan untuk hal lain selain debugging. Ini bukan penginisialisasi String normal.Di Swift 3.0 :
sumber
String(describing:)
seharusnya tidak pernah digunakan untuk hal lain selain debugging. Ini bukan penginisialisasi String normal.Swift 4 :
Developer.Apple.com> String> init (menjelaskan :)
Konversi String Kustom
sumber
String(describing:)
seharusnya tidak pernah digunakan untuk hal lain selain debugging. Ini bukan penginisialisasi String normal.describing
Metode sini untuk ... menggambarkan isinya. Itu memberi deskripsi. Terkadang sama dengan konversi, terkadang tidak . Berikan opsional kepadadescribing
dan Anda akan melihat hasilnya ... Ini tidak akan menjadi konversi. Ada cara sederhana dan berdedikasi untuk mengonversi: menggunakan penginisialisasi String normal, seperti yang dijelaskan dalam jawaban lain. Baca halaman lengkap yang Anda tautkan ke: lihat bahwa metode ini mencari deskripsi menggunakan berbagai cara, beberapa di antaranya akan memberikan hasil yang salah jika Anda mengharapkan konversi yang akurat ..Hanya untuk kelengkapan, Anda juga dapat menggunakan:
atau nilai lain yang mendukung deskripsi.
sumber
Swift 4:
Mencoba menunjukkan nilai dalam label tanpa kata opsional () .
di sini x adalah nilai Int yang digunakan.
sumber
String(describing:)
boleh digunakan untuk hal lain selain debugging. Ini bukan penginisialisasi String normal.String()
penginisialisasi normal . Tapi jangan berikan itu opsional, buka dulu. Atau, seperti dalam contoh Anda, gunakan??
. Seperti ini:let str = String(x ?? 0)
Untuk menghemat waktu dan kerumitan di masa depan, Anda dapat membuat ekstensi Int. Biasanya saya membuat file kode bersama tempat saya meletakkan ekstensi, enum, dan hal menyenangkan lainnya. Seperti apa kode ekstensi itu:
Kemudian ketika Anda ingin mengonversi int ke string, Anda bisa melakukan sesuatu seperti:
sumber
toInt
atautoInt()
.myNumber.description
. Tidak perlu ekstensi apa pun.di swift 3.0 ini adalah bagaimana kita dapat mengonversi
Int
keString
danString
keInt
sumber
integerValue
jenisnya adalahInt
. maka tidak dapat memiliki nilai nol untuk itu. jadi compiler memberitahu Anda untuk membuka bungkusnya. jika Anda ingin menghindari ini, gunakan sepertilet integerValue = Int(stringValue)
. maka Anda tidak akan mendapatkan masalah. maaf atas keterlambatan balasan.untuk alasan apa pun jawaban yang diterima tidak berhasil untuk saya. Saya pergi dengan pendekatan ini:
sumber
Berbagai cara untuk melakukan ini:
sumber
Swift 2:
sumber
Saya menggunakan pendekatan sederhana ini
String ke Int:
dan dari Int ke String:
sumber
Ubah Unicode Int ke String
Bagi mereka yang ingin mengonversi Int ke string Unicode, Anda dapat melakukan hal berikut:
Atau sebagai alternatif:
sumber
String
initializer dapat mengambilUnicodeScalar
.exampleLabel.text = String(yourInt)
sumber
Untuk mengubah String menjadi Int
Untuk menyelubungi Int menjadi String
Jalan pertama)
2nd way)
atau
sumber
ATAU
sumber
Di swift 3.0, Anda dapat mengubah integer ke string seperti yang diberikan di bawah ini
Cara lain adalah
// atau nomor bilangan apa pun di tempat 15
sumber
Saya lebih suka menggunakan Interpolasi String
Setiap objek memiliki representasi string. Ini membuat segalanya lebih sederhana. Misalnya jika Anda perlu membuat beberapa
String
dengan beberapa nilai. Anda juga dapat melakukan perhitungan matematika di dalamnya atau menggunakan beberapa kondisisumber
Jika Anda menyukai ekstensi cepat, Anda dapat menambahkan kode berikut
kemudian, Anda bisa mendapatkan string dengan metode yang baru saja Anda tambahkan
sumber
sumber
sumber