Convert Int naar String in Swift

Ik probeer uit te zoeken hoe ik een Intin een Stringin Swift kan casten.

Ik vind een oplossing met behulp van NSNumber, maar ik zou graag willen weten hoe ik dit allemaal in Swift kan doen.

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

Antwoord 1, autoriteit 100%

Intconverteren naar String:

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

En andersom – Stringconverteren naar Int:

let myString : String = "42"
let x: Int? = myString.toInt()
if (x != nil) {
    // Successfully converted String to Int
}

Of als u Swift 2 of 3 gebruikt:

let x: Int? = Int(myString)

Antwoord 2, autoriteit 9%

Controleer het onderstaande antwoord:

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

Antwoord 3, autoriteit 6%

Hier zijn 4 methoden:

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

Ik kan me voorstellen dat sommige mensen een probleem hebben met ss. Maar als u op zoek bent naar een string met andere inhoud, waarom niet.


Antwoord 4, autoriteit 5%

In Swift 3.0:

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

Antwoord 5, autoriteit 3%

Voor de volledigheid kun je ook het volgende gebruiken:

let x = 10.description

of een andere waarde die een beschrijving ondersteunt.


Antwoord 6, autoriteit 3%

Swift 4:

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

Developer.Apple.com > Tekenreeks > init(beschrijving:)

De String(description:) initializer is de geprefereerde manier om een instantie van elk type naar een string te converteren.

Aangepaste tekenreeks convertible


Antwoord 7

Swift 4:

Proberen de waarde in label weer te geven zonder Optioneel()woord.

hier is x een Int-waarde die wordt gebruikt.

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

Antwoord 8

Om jezelf in de toekomst tijd en gedoe te besparen, kun je een Int-extensie maken. Meestal maak ik een gedeeld codebestand waarin ik extensies, opsommingen en andere leuke dingen plaats. Zo ziet de extensiecode eruit:

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

Als je later een int naar een string wilt converteren, kun je zoiets doen als:

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

Antwoord 9

in swift 3.0is dit hoe we Intkunnen converteren naar Stringen Stringnaar 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)!

Antwoord 10

om welke reden dan ook, het geaccepteerde antwoord werkte niet voor mij. Ik ging voor deze aanpak:

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

Antwoord 11

Meerdere manieren om dit te doen:

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

Antwoord 12

Swift 2:

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

Antwoord 13

ik gebruik deze eenvoudige aanpak

String naar Int:

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

en van Int naar String:

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

Antwoord 14

Converteer Unicode Int naar String

Voor degenen die een Int naar een Unicode-tekenreeks willen converteren, kunt u het volgende doen:

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

Of anders:

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

Antwoord 15

exampleLabel.text = String(yourInt)


Antwoord 16

Ik gebruik liever String Interpolation

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

Elk object heeft een tekenreeksrepresentatie. Dit maakt de zaken eenvoudiger. Bijvoorbeeld als u een Stringmoet maken met meerdere waarden. Je kunt er ook wiskunde in doen of een aantal voorwaarden gebruiken

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

Antwoord 17

String omzetten in Int

var numberA = Int("10")
Print(numberA) // It will print 10

Int verbergen in string

var numberA = 10

Eerste manier)

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

2e weg)

var strSomeNumber = String(numberA)

of

var strSomeNumber = "\(numberA)"

Antwoord 18

let a =123456888
var str = String(a)

OF

var str = a as! String

Antwoord 19

In swift 3.0 kun je integer veranderen in string zoals hieronder aangegeven

let a:String = String(stringInterpolationSegment: 15)

Een andere manier is

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

//of een geheel getal in plaats van 15


Antwoord 20

Als je van snelle extensie houdt, kun je de volgende code toevoegen

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

dan kun je string krijgen met de methode die je zojuist hebt toegevoegd

var x = 1234
var s = x.string

Antwoord 21

Een beetje over prestaties
UI Testing Bundleop iPhone 7 (echt apparaat) met iOS 14

let i = 0
lt result1 = String(i) //0.56s 5890kB
lt result2 = "\(i)" //0.624s 5900kB
lt result3 = i.description //0.758s 5890kB
import XCTest
class ConvertIntToStringTests: XCTestCase {
    let count = 1_000_000
    func measureFunction(_ block: () -> Void) {
        let metrics: [XCTMetric] = [
            XCTClockMetric(),
            XCTMemoryMetric()
        ]
        let measureOptions = XCTMeasureOptions.default
        measureOptions.iterationCount = 5
        measure(metrics: metrics, options: measureOptions) {
            block()
        }
    }
    func testIntToStringConstructor() {
        var result = ""
        measureFunction {
            for i in 0...count {
                result += String(i)
            }
        }
    }
    func testIntToStringInterpolation() {
        var result = ""
        measureFunction {
            for i in 0...count {
                result += "\(i)"
            }
        }
    }
    func testIntToStringDescription() {
        var result = ""
        measureFunction {
            for i in 0...count {
                result += i.description
            }
        }
    }
}

Antwoord 22

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

Antwoord 23

let intAsString = 45.description     // "45"
let stringAsInt = Int("45")          // 45

Other episodes