我试图弄清楚如何在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
当前回答
如果你喜欢快速扩展,你可以添加以下代码
extension Int
{
var string:String {
get {
return String(self)
}
}
}
然后,您可以通过刚才添加的方法获取字符串
var x = 1234
var s = x.string
其他回答
检查下面的答案:
let x : Int = 45
var stringValue = "\(x)"
print(stringValue)
为了在将来节省你的时间和麻烦,你可以做一个Int扩展。通常我会创建一个共享代码文件,在其中放置扩展名、枚举和其他有趣的东西。下面是扩展代码的样子:
extension Int
{
func toString() -> String
{
var myString = String(self)
return myString
}
}
之后,当你想将int型转换为字符串时,你可以这样做:
var myNumber = 0
var myNumberAsString = myNumber.toString()
在swift 3.0中,这就是我们如何将Int转换为字符串和字符串转换为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)!
弦乐演奏
稍微讲讲性能 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
}
}
}
}
这里有4种方法:
var x = 34
var s = String(x)
var ss = "\(x)"
var sss = toString(x)
var ssss = x.description
我可以想象有些人会有一个问题与ss。但如果你正在寻找一个包含其他内容的字符串,那么为什么不呢。