簡體   English   中英

在 Swift 中將 Int 轉換為 String

[英]Convert Int to String in Swift

我正在嘗試研究如何在 Swift 中將Int轉換為String

我想出了一個解決方法,使用NSNumber但我很想弄清楚如何在 Swift 中完成這一切。

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

Int轉換為String

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 或 3:

let x: Int? = Int(myString)

檢查以下答案:

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

這里有4種方法:

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

我可以想象有些人會遇到 ss 問題。 但是,如果您想構建一個包含其他內容的字符串,那為什么不呢。

在 Swift 3.0 中

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

為了完整起見,您還可以使用:

let x = 10.description

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

斯威夫特 4

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

Developer.Apple.com > 字符串 > init(描述:)

String(describing:) 初始值設定項是將任何類型的實例轉換為字符串的首選方法。

自定義字符串可轉換

在此處輸入圖片說明

斯威夫特 4:

試圖在沒有Optional()字的情況下顯示標簽中的值。

這里 x 是一個 Int 值使用。

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

為了節省自己的時間和將來的麻煩,您可以進行 Int 擴展。 通常我會創建一個共享代碼文件,在其中放置擴展名、枚舉和其他有趣的東西。 這是擴展代碼的樣子:

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

然后,當您想將 int 轉換為字符串時,您可以執行以下操作:

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

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

無論出於何種原因,接受的答案對我不起作用。 我采用了這種方法:

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

有多種方法可以做到這一點:

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

斯威夫特 2:

var num1 = 4
var numString = "56"
var sum2 = String(num1) + numString
var sum3 = Int(numString)

我正在使用這種簡單的方法

字符串到整數:

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

從 Int 到 String:

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

將 Unicode 整型轉換為字符串

對於那些想要將 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)
}

exampleLabel.text = String(yourInt)

我更喜歡使用字符串插值

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

每個對象都有一些字符串表示。 這使事情變得更簡單。 例如,如果您需要創建一些具有多個值的String 您還可以在其中進行任何數學運算或使用某些條件

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

將 String 轉換為 Int

var numberA = Int("10")

Print(numberA) // It will print 10

將 Int 轉換為 String

var numberA = 10

第一種方式)

print("numberA is \(numberA)") // It will print 10

第二種方式)

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

如果你喜歡 swift 擴展,你可以添加以下代碼

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

然后,您可以通過您剛剛添加的方法獲取字符串

var x = 1234
var s = x.string

關於 iPhone 7(真實設備)和 iOS 14 上的性能UI Testing Bundle一點點

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
            }
        }
    }
}
let Str = "12"
let num: Int = 0
num = Int (str)
let intAsString = 45.description     // "45"
let stringAsInt = Int("45")          // 45

從字節中獲取字符串:[UInt8] :( swift3及更高版本)

使用下面的代碼

if let string = String(bytes: bytes, encoding: .utf8) {
    print(string)
} else {
    print("not a valid UTF-8 sequence")
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM