在Swift中将Int转换为String

问题描述 投票:505回答:21

我正在努力研究如何在Swift中将Int投射到String中。

我找到了一个解决方法,使用NSNumber,但我很想知道如何在Swift中完成所有操作。

let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
string casting int converter swift
21个回答
906
投票

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)

7
投票

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

5
投票

多种方法:

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

4
投票

斯威夫特2:

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

2
投票

我使用这种简单的方法

字符串到Int:

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

从Int到String:

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

2
投票

Convert Unicode Int to String

对于那些想要将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)
}

1
投票
let a =123456888
var str = String(a)

要么

var str = a as! String

0
投票

exampleLabel.text = String(yourInt)


0
投票

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

0
投票

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

let a:String = String(stringInterpolationSegment: 15)

另一种方式是

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

//或任何整数代替15


0
投票
let Str = "12"
let num: Int = 0
num = Int (str)

91
投票

检查下面的答案:

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

0
投票

我更喜欢使用String Interpolation

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

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

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

0
投票

如果您喜欢swift扩展,可以添加以下代码

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

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

var x = 1234
var s = x.string

-1
投票

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

使用以下代码

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

56
投票

在Swift 3.0中:

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

55
投票

这里有4种方法:

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

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


27
投票

斯威夫特4:

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

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

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

Custom String Convertible

enter image description here


26
投票

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

let x = 10.description

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


11
投票

斯威夫特4:

尝试在没有Optional()字的情况下显示标签中的值。

这里x是使用的Int值。

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

8
投票

为了节省您自己的时间和未来的麻烦,您可以进行Int扩展。通常我会创建一个共享代码文件,我在其中放置扩展,枚举和其他有趣的东西。这是扩展代码的样子:

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

然后,当您想要将int转换为字符串时,您可以执行以下操作:

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

7
投票

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

var myInt:Int = 10
var myString:String = toString(myInt)
© www.soinside.com 2019 - 2024. All rights reserved.