我正試圖解決如何在Swift中將Int
轉換爲String
。將Int轉換爲Swift中的字符串
我想出一個解決方法,使用NSNumber
,但我很想弄清楚如何在Swift中完成所有工作。
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
我正試圖解決如何在Swift中將Int
轉換爲String
。將Int轉換爲Swift中的字符串
我想出一個解決方法,使用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
}
或者,如果你使用的斯威夫特2或3:
let x: Int? = Int(myString)
檢查以下答案:
let x : Int = 45
var stringValue = "\(x)"
print(stringValue)
meh,這是一個醜陋和不必要的解決方法,當'String'已經有一個構造函數接受'Int' –
你發現了什麼錯誤?你爲什麼放棄投票? @GabrielePetronella – PREMKUMAR
這只是實現理想結果的可怕方式。然而,答案在技術上是正確的,因此我沒有倒下。 –
無論出於何種原因接受的答案並沒有爲我工作。我去了這種方法:
var myInt:Int = 10
var myString:String = toString(myInt)
是的..同樣的問題..接受的答案不工作..你的答案爲我工作.. –
只是爲了完整性,還可以使用:
let x = 10.description
或支持說明任何其他值。
這對我試圖顯示標籤中的值時工作。 與其他方法,它總是可選(0),而不是0. 謝謝 –
這裏有4種方法:
var x = 34
var s = String(x)
var ss = "\(x)"
var sss = toString(x)
var ssss = x.description
我可以想像,一些人將與SS的問題。但是,如果你想建立一個包含其他內容的字符串,那麼爲什麼不呢。
我只是看了一些關於Swift和iOS 8的Stanford U新課程。你的'var ss =「\(x)」'例子是確切地說,他們建議如何將double轉換爲字符串。我認爲這很簡單,很棒。 – markhunte
思考更多關於sass - 這真的很糟糕。 –
toString已被重命名爲字符串 –
多種方式來做到這一點:
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()
潛在的愚蠢問題,但是這應該是一個函數還是一個計算變量?我無法記起Swift通常在這些情況下使用哪一個 - 它是「toInt」還是toInt()。 –
爲了節省一些時間和麻煩,只需使用'myNumber。description'。不需要任何擴展。 – nyg
IAM使用這種簡單的方法
字符串INT:
var a = Int()
var string1 = String("1")
a = string1.toInt()
,並從int到字符串:
var a = Int()
a = 1
var string1 = String()
string1= "\(a)"
exampleLabel.text = String(yourInt)
斯威夫特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)
對於那些誰想要一個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)
}
@jvarela,這仍然有效。我只是在Xcode 8.2(Swift 3.0.2)中重新測試了它。 'String'初始化器可以使用'UnicodeScalar'。 – Suragch
在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)!
在代碼的最後一行,爲什麼我們最後需要一個感嘆號? –
@OmarTariq,因爲我們明確地告訴編譯器'integerValue'的類型是'Int'。那麼它不能有一個零值。所以編譯器會告訴你解開它。如果你想避免這種情況,可以像'let integerValue = Int(stringValue)'一樣使用它。那麼你不會有問題。這麼晚纔回復很抱歉。 –
@OmarTariq在這種情況下解包可能會非常糟糕。如果字符串不是數字,將會導致應用程序崩潰。你應該確保確保它是有效的,而不是強制解包它。 –
在雨燕3.0:
var value: Int = 10
var string = String(describing: value)
至字符串轉換爲詮釋
var numberA = Int("10")
Print(numberA) // It will print 10
隱蔽詮釋成字符串
var numberA = 10
1路)
print("numberA is \(numberA)") // It will print 10
第二路)
var strSomeNumber = String(numberA)
或
var strSomeNumber = "\(numberA)"
迅速3。0,下面
let a:String = String(stringInterpolationSegment: 15)
給出你可以改變爲字符串整數另一種方式是
let number: Int = 15
let _numberInStringFormate: String = String(number)
//或代替15
從API參考「不要直接調用此初始值設定項,編譯器在解釋字符串插值時使用它」。也許你想仔細檢查你是否在某個地方使用它。 –
let a =123456888
var str = String(a)
OR
var str = a as! String
任何整數
Swift 4:
let x:Int = 45
let str:String = String(describing: x)
謝謝。什麼毫無意義的突破變化..... –
雖然這可行,但可以使用'toString'函數,如下面的答案中所示。 – ybakos
'Int'似乎沒有'toString()'方法,至少在Xcode 6.2中沒有編輯:我看到有一個全局的'toString'方法(*** not ***'Int.toString() '),任何人都知道使用String()構造函數的優點? – Nilloc
讓x:Int? = str.integerValue爲我工作 – Mashhadi