关于强制转换:在Swift中将Int转换为String

Convert Int to String in Swift

我正在研究如何用swift将一个Int转换成一个String

我用NSNumber找到了一个解决办法,但我想知道如何用swift来完成这一切。

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

Int转换为String

1
2
let x : Int = 42
var myString = String(x)

另一种方法是将String转换为Int

1
2
3
4
5
6
let myString : String ="42"
let x: Int? = myString.toInt()

if (x != nil) {
    // Successfully converted String to Int
}

或者如果您使用的是Swift 2或3:

1
let x: Int? = Int(myString)


检查以下答案:

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


在Swift 3.0中:

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


以下是4种方法:

1
2
3
4
5
var x = 34
var s = String(x)
var ss ="\(x)"
var sss = toString(x)
var ssss = x.description

我可以想象,有些人会和党卫军有问题。但是如果你想构建一个包含其他内容的字符串,为什么不呢?


斯威夫特4:

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

developer.apple.com>string>init(描述:)

The String(describing:) initializer is the preferred way to convert an instance of any type to a string.

自定义字符串可转换

enter image description here


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

1
let x = 10.description

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


斯威夫特4:

试图在不带可选()字的标签中显示值。

这里x是一个int值。

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


为了节省时间和将来的麻烦,你可以做一个int扩展。通常我会创建一个共享代码文件,在其中放置扩展名、枚举和其他有趣的内容。扩展代码如下所示:

1
2
3
4
5
6
7
8
extension Int
{
    func toString() -> String
    {
        var myString = String(self)
        return myString
    }
}

稍后,当您希望将int转换为字符串时,可以执行如下操作:

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


无论出于什么原因,这个被接受的答案对我都不起作用。我采用这种方法:

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


在Swift 3.0中,这是我们如何将Int转换为StringString转换为Int的方法。

1
2
3
4
5
6
7
8
9
10
11
//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)!


执行此操作的多种方法:

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

斯威夫特2:

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


IAM使用这个简单的方法

字符串到int:

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

从int到string:

1
2
3
4
var a = Int()
a = 1
var string1 = String()
 string1="\(a)"


将unicode int转换为字符串

对于那些希望将int转换为unicode字符串的用户,可以执行以下操作:

1
2
3
4
5
6
7
8
9
10
11
12
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

或者:

1
2
3
4
let myInteger: Int = 97
if let myUnicodeScalar = UnicodeScalar(myInteger) {
    let myString = String(myUnicodeScalar)
}


1
2
let a =123456888
var str = String(a)

1
var str = a as! String

江户十一〔四〕号


我更喜欢使用字符串插值

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

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

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


将字符串转换为int

1
2
3
var numberA = Int("10")

Print(numberA) // It will print 10

把int转换成字符串

1
var numberA = 10

1路)

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

2路)

1
var strSomeNumber = String(numberA)

1
var strSomeNumber ="\(numberA)"


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

1
let a:String = String(stringInterpolationSegment: 15)

另一种方法是

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

//或任何整数代替15


1
2
3
let Str ="12"
let num: Int = 0
num = Int (str)


从字节[uint8]获取字符串(swift3及以上)

使用以下代码

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