Question Convertir Int en String en Swift


J'essaie de comprendre comment lancer un Int dans une String à Swift.

Je trouve une solution de rechange, en utilisant NSNumber mais j'adorerais trouver comment faire tout cela dans Swift.

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

434
2018-06-11 11:05


origine


Réponses:


Conversion Int à String:

let x : Int = 42
var myString = String(x)

Et l'inverse - la conversion String à Int:

let myString : String = "42"
let x: Int? = myString.toInt()

if (x != nil) {
    // Successfully converted String to Int
}

Ou si vous utilisez Swift 2 ou 3:

let x: Int? = Int(myString)

779
2018-06-11 11:08



Vérifiez la réponse ci-dessous:

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

79
2018-06-11 11:11



Dans Swift 3.0:

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

50
2017-12-02 19:41



Voici 4 méthodes:

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

Je peux imaginer que certaines personnes auront un problème avec les art. Mais si vous cherchez à construire une chaîne contenant d'autres contenus, alors pourquoi pas.


46
2018-01-28 22:04



Juste pour être complet, vous pouvez également utiliser:

let x = 10.description

ou toute autre valeur qui prend en charge une description.


20
2017-12-30 15:44



Swift 4:

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

enter image description here

Developer.Apple.com> String> init (décrivant :)


18
2017-10-26 16:23



Pour vous faire gagner du temps et éviter des problèmes à l'avenir, vous pouvez créer une extension Int. Généralement, je crée un fichier de code partagé dans lequel je mets des extensions, des énumérations et d'autres éléments amusants. Voici à quoi ressemble le code d'extension:

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

Ensuite, lorsque vous voulez convertir un int en une chaîne, vous pouvez simplement faire quelque chose comme:

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

8
2018-03-17 15:34