转换Int到字符串在Swift

我试图弄清楚如何在Swift中将Int转换为String

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

let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
689254 次浏览

转换IntString:

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)

检查下面的答案:

let x : Int = 45
var stringValue = "\(x)"
print(stringValue)

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

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

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

let x = 10.description

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

这里有4种方法:

var x = 34
var s = String(x)
var ss = "\(x)"
var sss = toString(x)
var ssss = x.description

我可以想象有些人会有一个问题与ss。但如果你正在寻找一个包含其他内容的字符串,那么为什么不呢。

有多种方法:

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

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

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

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

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

我正在使用这个简单的方法

字符串到Int:

 var a = Int()
var string1 = String("1")
a = string1.toInt()

和从Int到String:

var a = Int()
a = 1
var string1 = String()
string1= "\(a)"

# EYZ0

斯威夫特2:

var num1 = 4
var numString = "56"
var sum2 = String(num1) + numString
var sum3 = Int(numString)
let Str = "12"
let num: Int = 0
num = Int (str)

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

斯威夫特3.0中,这是我们如何将Int转换为StringString转换为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)!

# EYZ0:

var value: Int = 10
var string = String(describing: value)

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

var strSomeNumber = "\(numberA)"

在swift 3.0中,您可以将整数更改为字符串,如下所示

let a:String = String(stringInterpolationSegment: 15)

另一种方法是

let number: Int = 15
let _numberInStringFormate: String = String(number)

//或任何整数来代替15

let a =123456888
var str = String(a)

var str = a as! String

# EYZ0:

let x:Int = 45
let str:String = String(describing: x)

Developer.Apple.com > String > init(description:)

String(description:)初始化式是将任何类型的实例转换为字符串的首选方法。

自定义字符串转换

enter image description here

斯威夫特4:

试图显示标签中没有可选的()字的值。

这里x是一个Int值使用。

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

我更喜欢使用字符串插值

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

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

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

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

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

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

var x = 1234
var s = x.string
let intAsString = 45.description     // "45"
let stringAsInt = Int("45")          // 45

弦乐演奏

关于性能 UI Testing Bundle在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
}
}
}
}