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

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

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

当前回答

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

其他回答

为了在将来节省你的时间和麻烦,你可以做一个Int扩展。通常我会创建一个共享代码文件,在其中放置扩展名、枚举和其他有趣的东西。下面是扩展代码的样子:

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

之后,当你想将int型转换为字符串时,你可以这样做:

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

不管出于什么原因,这个公认的答案对我不起作用。我采用了这样的方法:

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

我更喜欢使用字符串插值

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

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

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

有多种方法:

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

OR

var str = a as! String