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

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

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

当前回答

我更喜欢使用字符串插值

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

每个对象都有一些字符串表示。这样事情就简单多了。例如,如果您需要创建具有多个值的字符串。你也可以在里面做任何数学运算或者使用一些条件

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

其他回答

为了完整起见,你还可以使用:

let x = 10.description

或支持描述的任何其他值。

如果你喜欢快速扩展,你可以添加以下代码

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

然后,您可以通过刚才添加的方法获取字符串

var x = 1234
var s = x.string

斯威夫特4:

试图在label中显示没有Optional()字的值。

这里x是一个Int值使用。

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

将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)
}

将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)"