Преобразование Int в строку в Swift

Я пытаюсь понять, как бросить Int на String в Swift.

Я придумываю обходной путь, используя NSNumber но я хотел бы выяснить, как сделать все это в Swift.

let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue

19 ответов


преобразование Int to 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)

Проверьте следующий ответ:

let x : Int = 45
var stringValue = "\(x)"
print(stringValue)

В Swift 3.0:

var value: Int = 10
var string = String(describing: value)

вот 4 метода:

var x = 34
var s = String(x)
var ss = "\(x)"
var sss = toString(x)
var ssss = x.description

Я могу себе представить, что у некоторых людей будет проблема с ss. Но если вы хотели создать строку, содержащую другой контент, то почему бы и нет.


просто для полноты, вы также можете использовать:

let x = 10.description

или любое другое значение, поддерживающее описание.


Swift 4:

let x:Int = 45
let str:String = String(describing: x)

enter image description here Developer.Apple.com > строка > init (описание:)


чтобы сэкономить время и хлопот в будущем вы можете сделать расширение Int. Обычно я создаю общий файл кода, где я помещаю расширения, перечисления и другие интересные вещи. Вот как выглядит код расширения:

extension Int
{
    func toString() -> String
    {
        var myString = String(self)
        return myString
    }
}

затем, когда вы хотите, чтобы преобразовать int в строку, вы можете просто сделать что-то вроде:

var myNumber = 0
var myNumberAsString = myNumber.toString()

по какой причине принятый ответ не работа для меня. Я пошел с этим подходом:

var myInt:Int = 10
var myString:String = toString(myInt)

на swift 3.0 вот как мы можем конвертировать Int to String и String to Int

//convert Integer to String in Swift 3.0

let theIntegerValue :Int = 123  // this can be var also
let theStringValue :String = String(theIntegerValue)


//convert String to Integere in Swift 3.0


let stringValue : String = "123"
let integerValue : Int = Int(stringValue)!

несколько способов сделать это :

var str1:String="\(23)"
var str2:String=String(format:"%d",234)

Swift 2:

var num1 = 4
var numString = "56"
var sum2 = String(num1) + numString
var sum3 = Int(numString)

Swift 4:

попытка показать значение в label без дополнительно() слово.

здесь x-это значение Int.

let str:String = String(x ?? 0)

iam, используя этот простой подход

строка в Int:

 var a = Int()
var string1 = String("1")
a = string1.toInt()

и от Int до String:

var a = Int()
a = 1
var string1 = String()
 string1= "\(a)"

преобразовать Unicode Int в String

для тех, кто хочет преобразовать Int в строку Unicode, вы можете сделать следующее:

let myInteger: Int = 97

// convert Int to a valid UnicodeScalar
guard let myUnicodeScalar = UnicodeScalar(myInteger) else {
    return ""
}

// convert UnicodeScalar to String
let myString = String(myUnicodeScalar)

// results
print(myString) // a

или же:

let myInteger: Int = 97
if let myUnicodeScalar = UnicodeScalar(myInteger) {
    let myString = String(myUnicodeScalar)
}

let a =123456888
var str = String(a)

или

var str = a as! String

exampleLabel.text = String(yourInt)


для преобразования строки в Int

var numberA = Int("10")

Print(numberA) // It will print 10

чтобы скрыть Int в строку

var numberA = 10

1-й способ)

print("numberA is \(numberA)") // It will print 10

2-й способ)

var strSomeNumber = String(numberA)

или

var strSomeNumber = "\(numberA)"

в swift 3.0 вы можете изменить целое число на строку, как указано ниже

let a:String = String(stringInterpolationSegment: 15)

другой способ -

let number: Int = 15
let _numberInStringFormate: String = String(number)

/ / или любое целое число вместо 15


let Str = "12"
let num: Int = 0
num = Int (str)