web-dev-qa-db-fra.com

Convertir Int en chaîne dans Swift

J'essaie de trouver un moyen de convertir un Int en un String dans Swift.

Je trouve une solution de contournement en utilisant NSNumber mais j'aimerais bien savoir comment faire tout cela à Swift.

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

Conversion de Int en String:

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

Et inversement - convertir String en 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)
907
Shai

Vérifiez la réponse ci-dessous:

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

Dans Swift 3.:

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

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 ss. Mais si vous cherchiez à construire une chaîne contenant un autre contenu, pourquoi pas.

55
Ian Bradbury

Swift 4 :

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

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

L'initialiseur String (décrivant :) est le moyen privilégié pour convertir une instance de tout type en chaîne.

Convertible en chaîne personnalisée

enter image description here

27
Hamed.Ghadirian

Juste pour être complet, vous pouvez aussi utiliser:

let x = 10.description

ou toute autre valeur prenant en charge une description.

26
Mike Lischke

Swift 4:

Essayer d'afficher la valeur dans label sans Facultatif () Word.

ici, x est une valeur Int utilisant.

let str:String = String(x ?? 0)
11
Harshil Kotecha

Pour vous épargner du temps et des problèmes à l'avenir, vous pouvez créer une extension Int. En général, je crée un fichier de code partagé dans lequel je mets des extensions, des énumérations et d’autres choses amusantes. Voici à quoi ressemble le code d'extension:

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

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

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

pour une raison quelconque, la réponse acceptée ne fonctionnait pas pour moi. Je suis allé avec cette approche:

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

in Swift 3. c'est ainsi que nous pouvons convertir Int en String et String en 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)!
7
Chanaka Caldera

Plusieurs façons de faire ceci:

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

Swift 2:

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

iam utilisant cette approche simple

Chaîne à Int:

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

et de Int à String:

var a = Int()
a = 1
var string1 = String()
 string1= "\(a)"
2
Muraree Pareek

Convertir Unicode Int en chaîne

Pour ceux qui veulent convertir un Int en une chaîne Unicode, vous pouvez procéder comme suit:

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

Ou bien:

let myInteger: Int = 97
if let myUnicodeScalar = UnicodeScalar(myInteger) {
    let myString = String(myUnicodeScalar)
}
2
Suragch
let a =123456888
var str = String(a)

OR

var str = a as! String
1
Amul4608
let Str = "12"
let num: Int = 0
num = Int (str)
0
Paulo Silva

Je préfère utiliser interpolation de chaîne

let x = 45
let string = "\(x)"

Chaque objet a une représentation de chaîne. Cela rend les choses plus simples. Par exemple, si vous devez créer String avec plusieurs valeurs. Vous pouvez également faire des calculs ou utiliser certaines conditions

let text = "\(count) \(count > 1 ? "items" : "item") in the cart. Sum: $\(sum + shippingPrice)"
0
Robert Dresler

exampleLabel.text = String(yourInt)

0
Michael

Si vous aimez l'extension Swift, vous pouvez ajouter le code suivant

extension Int
{
    var string:String {
        get {
            return String(self)
        }
    }
}

alors, vous pouvez obtenir une chaîne par la méthode que vous venez d'ajouter

var x = 1234
var s = x.string
0
Lai Lee

Pour convertir String en Int

var numberA = Int("10")

Print(numberA) // It will print 10

Pour convertir Int en chaîne

var numberA = 10

1er chemin)

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

2ème voie)

var strSomeNumber = String(numberA)

ou

var strSomeNumber = "\(numberA)"
0
Anil Kukadeja

Dans Swift 3.0, vous pouvez changer un entier en chaîne comme indiqué ci-dessous

let a:String = String(stringInterpolationSegment: 15)

Une autre façon est

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

// ou un nombre entier quelconque au lieu de 15

0
Dilip Jangid