我试图弄清楚如何在Swift中将Int转换为字符串。
我想出了一个解决方案,使用NSNumber,但我想弄清楚如何在Swift中做到这一切。
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
我试图弄清楚如何在Swift中将Int转换为字符串。
我想出了一个解决方案,使用NSNumber,但我想弄清楚如何在Swift中做到这一切。
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
当前回答
我正在使用这个简单的方法
字符串到Int:
var a = Int()
var string1 = String("1")
a = string1.toInt()
和从Int到String:
var a = Int()
a = 1
var string1 = String()
string1= "\(a)"
其他回答
为了完整起见,你还可以使用:
let x = 10.description
或支持描述的任何其他值。
为了在将来节省你的时间和麻烦,你可以做一个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)
斯威夫特2:
var num1 = 4
var numString = "56"
var sum2 = String(num1) + numString
var sum3 = Int(numString)
将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)
}