J'essaie de trouver un moyen de lancer un Int
dans String
Swift.
Je trouve une solution de contournement, en utilisant NSNumber
mais j'aimerais savoir comment tout faire dans Swift.
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
toString
fonction indiquée dans une réponse ci-dessous.Int
ne semble pas avoir unetoString()
méthode du moins pas dans l'édition Xcode 6.2: je vois qu'il y a unetoString
méthode globale ( pasInt.toString()
), quelqu'un sait-il l'avantage d'utiliser leString()
constructeur?String(Int?)
écrit "Facultatif (Int)", au moins dans Swift 2, ce ne pouvait pas être ce que vous vouliez dire. Utilisez à la placeInt?.description
String(describing: x)
Vérifiez la réponse ci-dessous:
la source
String
un constructeur accepte déjàInt
String
un constructeur accepte unInt
. C'est beaucoup plus clair et concis.Voici 4 méthodes:
Je peux imaginer que certaines personnes auront un problème avec les art. Mais si vous cherchez à construire une chaîne contenant un autre contenu, pourquoi pas.
la source
var ss = "\(x)"
exemple est exactement la façon dont ils ont conseillé de convertir un double en chaîne. Ce que j'ai trouvé facile et génial.String(describing:)
ne doit jamais être utilisé pour autre chose que le débogage. Ce n'est pas l'initialiseur de chaîne normal.Dans Swift 3.0 :
la source
String(describing:)
ne doit jamais être utilisé pour autre chose que le débogage. Ce n'est pas l'initialiseur de chaîne normal.Swift 4 :
Developer.Apple.com> String> init (décrivant :)
Convertible de chaîne personnalisée
la source
String(describing:)
ne doit jamais être utilisé pour autre chose que le débogage. Ce n'est pas l'initialiseur de chaîne normal.describing
méthode est là pour ... décrire son contenu. Il donne une description. Parfois, c'est la même chose que la conversion, parfois non . Donnez une option àdescribing
et vous verrez le résultat ... Ce ne sera pas une conversion. Il existe un moyen simple et dédié de convertir: en utilisant l'initialiseur de chaîne normal, comme expliqué dans d'autres réponses. Lisez la page complète à laquelle vous liez: voyez que cette méthode recherche des descriptions en utilisant différentes manières, dont certaines donneraient des résultats erronés si vous vous attendez à une conversion précise.Pour être complet, vous pouvez également utiliser:
ou toute autre valeur prenant en charge une description.
la source
Swift 4:
Essayer d'afficher la valeur dans l'étiquette sans le mot Facultatif () .
ici x est une valeur Int utilisant.
la source
String(describing:)
Ne doit jamais être utilisé pour autre chose que le débogage. Ce n'est pas l'initialiseur de chaîne normal.String()
initialiseur normal . Mais ne lui donnez pas une option, déballez d'abord. Ou, comme dans votre exemple, utilisez??
. Comme ça:let str = String(x ?? 0)
Pour vous faire gagner du temps et des tracas à 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 éléments amusants. Voici à quoi ressemble le code d'extension:
Plus tard, lorsque vous souhaitez convertir un int en chaîne, vous pouvez simplement faire quelque chose comme:
la source
toInt
outoInt()
.myNumber.description
. Pas besoin d'extensions.dans swift 3.0 voici comment nous pouvons convertir
Int
versString
etString
versInt
la source
integerValue
type de estInt
. ne peut alors pas avoir de valeur nulle. donc le compilateur vous dit de le déballer. si vous voulez éviter cela, utilisez-le commelet integerValue = Int(stringValue)
. alors vous n'aurez pas de problème. Désolé pour la réponse tardive.pour une raison quelconque, la réponse acceptée n'a pas fonctionné pour moi. Je suis allé avec cette approche:
la source
Plusieurs façons de procéder:
la source
Swift 2:
la source
iam utilise cette approche simple
Chaîne en Int:
et de Int à String:
la source
Convertir Unicode Int en chaîne
Pour ceux qui souhaitent convertir un Int en une chaîne Unicode, vous pouvez effectuer les opérations suivantes:
Ou bien:
la source
String
initialiseur peut prendre aUnicodeScalar
.exampleLabel.text = String(yourInt)
la source
Pour convertir String en Int
Pour convertir Int en chaîne
1ère voie)
2ème voie)
ou
la source
OU
la source
Dans swift 3.0, vous pouvez changer un entier en chaîne comme indiqué ci-dessous
Une autre façon est
// ou tout nombre entier à la place de 15
la source
Je préfère utiliser l' interpolation de chaînes
Chaque objet a une représentation sous forme de chaîne. Cela simplifie les choses. Par exemple, si vous devez en créer
String
avec plusieurs valeurs. Vous pouvez également faire des calculs ou utiliser certaines conditionsla source
Si vous aimez l'extension swift, vous pouvez ajouter le code suivant
ensuite, vous pouvez obtenir une chaîne par la méthode que vous venez d'ajouter
la source
la source
la source