Я пытаюсь работать, как бросить Int
в String
в Swift.
Я придумываю обходной путь, используя, NSNumber
но я бы хотел выяснить, как все это сделать в Swift.
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
Я пытаюсь работать, как бросить Int
в String
в Swift.
Я придумываю обходной путь, используя, NSNumber
но я бы хотел выяснить, как все это сделать в Swift.
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
Преобразование Int
в String
:
let x : Int = 42
var myString = String(x)
И наоборот - преобразование String
в Int
:
let myString : String = "42"
let x: Int? = myString.toInt()
if (x != nil) {
// Successfully converted String to Int
}
Или, если вы используете Swift 2 или 3:
let x: Int? = Int(myString)
toString
функцию, показанную в ответе ниже.Int
Похоже, нетtoString()
метода по крайней мере не в редактировании Xcode 6.2: я вижу, что есть глобальныйtoString
метод ( неInt.toString()
), кто-нибудь знает преимущество по сравнению с использованиемString()
конструктора?String(Int?)
пишет «Необязательно (Int)», по крайней мере, в Swift 2, это не может быть то, что вы имели в виду. Используйте вместо этогоInt?.description
String(describing: x)
Проверьте ответ ниже:
источник
String
уже принимается конструкторInt
String
есть конструктор, который принимаетInt
. Это гораздо яснее и лаконичнее.Вот 4 метода:
Я могу представить, что у некоторых людей будет проблема с сс. Но если вы хотели создать строку, содержащую другое содержимое, то почему бы и нет.
источник
var ss = "\(x)"
пример - именно то, как они советовали преобразовать двойное число в строку. Который я думал, было легко и здорово.String(describing:)
никогда не должен использоваться для чего-то еще, кроме отладки. Это не обычный инициализатор строки.В Swift 3.0 :
источник
String(describing:)
никогда не должен использоваться для чего-то еще, кроме отладки. Это не обычный инициализатор строки.Свифт 4 :
Developer.Apple.com> String> init (описание :)
Custom String Convertible
источник
String(describing:)
никогда не должен использоваться для чего-то еще, кроме отладки. Это не обычный инициализатор строки.describing
Метод здесь , чтобы ... описать его содержание. Это дает описание. Иногда это так же, как преобразование, иногда нет . Дайте необязательно,describing
и вы увидите результат ... Это не будет преобразование. Существует простой, выделенный способ преобразования: использование обычного инициализатора String, как объяснено в других ответах. Прочитайте полную страницу, на которую вы ссылаетесь: увидите, что этот метод ищет описания различными способами, некоторые из которых могут дать неправильные результаты, если вы ожидаете точного преобразования ..Просто для полноты вы также можете использовать:
или любое другое значение, которое поддерживает описание.
источник
Свифт 4:
Попытка показать значение в метке без слова Optional () .
здесь x - значение Int, использующее.
источник
String(describing:)
никогда не следует использовать для чего-то еще, кроме отладки. Это не обычный инициализатор строки.String()
инициализатор. Но не давайте это по желанию, сначала разверните. Или, как в вашем примере, используйте??
. Как это:let str = String(x ?? 0)
Чтобы сэкономить время и нервы в будущем, вы можете сделать расширение Int. Обычно я создаю файл общего кода, в который я помещаю расширения, перечисления и другие забавные вещи. Вот как выглядит код расширения:
Затем, когда вы захотите преобразовать int в строку, вы можете просто сделать что-то вроде:
источник
toInt
или нетtoInt()
.myNumber.description
. Нет необходимости в каких-либо расширениях.в Свифт 3.0 это то , как мы можем преобразовать
Int
вString
иString
вInt
источник
integerValue
типInt
. тогда не может иметь значение ноль для него. поэтому компилятор говорит вам развернуть его. если вы хотите избежать этого, используйте его какlet integerValue = Int(stringValue)
. тогда у тебя не будет проблем. Извините за поздний ответ.по какой-то причине принятый ответ не работал для меня. Я пошел с этим подходом:
источник
Несколько способов сделать это:
источник
Свифт 2:
источник
Я использую этот простой подход
Строка в Int:
и от Int до String:
источник
Конвертировать Unicode Int в String
Для тех, кто хочет преобразовать Int в строку Unicode, вы можете сделать следующее:
Или в качестве альтернативы:
источник
String
Инициализатор может занятьUnicodeScalar
.exampleLabel.text = String(yourInt)
источник
Чтобы преобразовать строку в Int
Чтобы преобразовать Int в строку
1-й способ)
2-й способ)
или
источник
ИЛИ
источник
В Swift 3.0 вы можете изменить целое число на строку, как указано ниже
Другой способ
// или любое целое число вместо 15
источник
Я предпочитаю использовать String Interpolation
Каждый объект имеет некоторое строковое представление. Это делает вещи проще. Например, если вам нужно создать несколько
String
с несколькими значениями. Вы также можете сделать любую математику или использовать некоторые условияисточник
Если вам нравится быстрое расширение, вы можете добавить следующий код
затем вы можете получить строку по методу, который вы только что добавили
источник
источник
источник