Ste*_*all 532 string int casting converter swift
我正试图找出如何在Swift中Int投入一个String.
我想出了一个解决方法,使用NSNumber但我想知道如何在Swift中完成所有操作.
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
Run Code Online (Sandbox Code Playgroud)
Sha*_*hai 926
转换Int为String:
let x : Int = 42
var myString = String(x)
Run Code Online (Sandbox Code Playgroud)
反过来 - 转换String为Int:
let myString : String = "42"
let x: Int? = myString.toInt()
if (x != nil) {
// Successfully converted String to Int
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用的是Swift 2或3:
let x: Int? = Int(myString)
Run Code Online (Sandbox Code Playgroud)
PRE*_*MAR 92
检查下面的答案:
let x : Int = 45
var stringValue = "\(x)"
print(stringValue)
Run Code Online (Sandbox Code Playgroud)
Ian*_*ury 55
这里有4种方法:
var x = 34
var s = String(x)
var ss = "\(x)"
var sss = toString(x)
var ssss = x.description
Run Code Online (Sandbox Code Playgroud)
我可以想象有些人会遇到ss的问题.但是如果你想构建一个包含其他内容的字符串,那么为什么不呢.
vla*_*dan 55
在Swift 3.0中:
var value: Int = 10
var string = String(describing: value)
Run Code Online (Sandbox Code Playgroud)
Ham*_*ian 27
斯威夫特4:
let x:Int = 45
let str:String = String(describing: x)
Run Code Online (Sandbox Code Playgroud)
Developer.Apple.com> String> init(描述:)
String(描述:)初始化程序是将任何类型的实例转换为字符串的首选方法.
Mik*_*hke 26
为了完整起见,您还可以使用:
let x = 10.description
Run Code Online (Sandbox Code Playgroud)
或任何其他支持描述的值.
Har*_*cha 12
斯威夫特4:
尝试在没有Optional()字的情况下显示标签中的值.
这里x是使用的Int值.
let str:String = String(x ?? 0)
Run Code Online (Sandbox Code Playgroud)
小智 8
为了节省您自己的时间和麻烦,您可以进行Int扩展.通常我会创建一个共享代码文件,我在其中放置扩展,枚举和其他有趣的东西.这是扩展代码的样子:
extension Int
{
func toString() -> String
{
var myString = String(self)
return myString
}
}
Run Code Online (Sandbox Code Playgroud)
然后,当您想要将int转换为字符串时,您可以执行以下操作:
var myNumber = 0
var myNumberAsString = myNumber.toString()
Run Code Online (Sandbox Code Playgroud)
无论出于何种原因,接受的答案对我都不起作用.我采用这种方法:
var myInt:Int = 10
var myString:String = toString(myInt)
Run Code Online (Sandbox Code Playgroud)
在SWIFT 3.0,这是我们如何能够转换Int到String和String到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)!
Run Code Online (Sandbox Code Playgroud)
let intAsString = 45.description // "45"
let stringAsInt = Int("45") // 45
Run Code Online (Sandbox Code Playgroud)
Swift 字符串性能
UI Testing Bundle关于运行 iOS 14 的 iPhone 7(真实设备)上的性能的一些信息
let i = 0
lt result1 = String(i) //0.56s 5890kB
lt result2 = "\(i)" //0.624s 5900kB
lt result3 = i.description //0.758s 5890kB
Run Code Online (Sandbox Code Playgroud)
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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
多种方法:
var str1:String="\(23)"
var str2:String=String(format:"%d",234)
Run Code Online (Sandbox Code Playgroud)
小智 5
斯威夫特2:
var num1 = 4
var numString = "56"
var sum2 = String(num1) + numString
var sum3 = Int(numString)
Run Code Online (Sandbox Code Playgroud)