我试图弄清楚如何在Swift中将Int转换为字符串。

我想出了一个解决方案,使用NSNumber,但我想弄清楚如何在Swift中做到这一切。

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

当前回答

将Unicode Int转换为字符串

对于那些想要将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)
}

其他回答

将Int转换为字符串:

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或Swift 3:

let x: Int? = Int(myString)

检查下面的答案:

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

弦乐演奏

稍微讲讲性能 UI测试包在iPhone 7(真实设备)与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
            }
        }
    }
}

将String转换为Int

var numberA = Int("10")

Print(numberA) // It will print 10

将Int转换为String

var numberA = 10

1日)

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

2)

var strSomeNumber = String(numberA)

or

var strSomeNumber = "\(numberA)"
let a =123456888
var str = String(a)

OR

var str = a as! String