我正在努力研究如何在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)
在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 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)
我使用这种简单的方法
字符串到Int:
var a = Int()
var string1 = String("1")
a = string1.toInt()
从Int到String:
var a = Int()
a = 1
var string1 = String()
string1= "\(a)"
对于那些想要将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)
}
let a =123456888
var str = String(a)
要么
var str = a as! String
exampleLabel.text = String(yourInt)
将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 Str = "12"
let num: Int = 0
num = Int (str)
检查下面的答案:
let x : Int = 45
var stringValue = "\(x)"
print(stringValue)
我更喜欢使用String Interpolation
let x = 45
let string = "\(x)"
每个对象都有一些字符串表示。这使事情变得更简单。例如,如果您需要创建一些具有多个值的String
。您也可以在其中进行任何数学运算或使用某些条件
let text = "\(count) \(count > 1 ? "items" : "item") in the cart. Sum: $\(sum + shippingPrice)"
如果您喜欢swift扩展,可以添加以下代码
extension Int
{
var string:String {
get {
return String(self)
}
}
}
然后,您可以通过刚添加的方法获取字符串
var x = 1234
var s = x.string
从字节获取字符串:[UInt8] :( swift3及以上)
使用以下代码
if let string = String(bytes: bytes, encoding: .utf8) {
print(string)
} else {
print("not a valid UTF-8 sequence")
}
在Swift 3.0中:
var value: Int = 10
var string = String(describing: value)
这里有4种方法:
var x = 34
var s = String(x)
var ss = "\(x)"
var sss = toString(x)
var ssss = x.description
我可以想象有些人会遇到ss的问题。但是如果你想构建一个包含其他内容的字符串,那么为什么不呢。
斯威夫特4:
let x:Int = 45
let str:String = String(describing: x)
Developer.Apple.com > String > init(describing:)
String(描述:)初始化程序是将任何类型的实例转换为字符串的首选方法。
为了完整起见,您还可以使用:
let x = 10.description
或任何其他支持描述的值。
斯威夫特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()
无论出于何种原因,接受的答案对我都不起作用。我采用这种方法:
var myInt:Int = 10
var myString:String = toString(myInt)