답변:
변환 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)
Int
이 표시되지 않습니다 toString()
나는 세계가 있다는 것을 참조 : 엑스 코드 6.2 편집하지 적어도 방법 toString
방법 ( 하지 Int.toString()
), 누군가가 사용을 통해 장점을 알고 String()
생성자를?
String(Int?)
쓰기는 "선택 사항 (INT)", 스위프트 2, 적어도 당신이 무슨 뜻인지 할 수 없음. 대신 사용Int?.description
String(describing: x)
아래 답변을 확인하십시오.
let x : Int = 45
var stringValue = "\(x)"
print(stringValue)
String
이미 생성자를 받아 들일 때 못생긴 불필요한 해결 방법입니다.Int
String
이 Int
. 훨씬 더 명확하고 간결합니다.
4 가지 방법이 있습니다 :
var x = 34
var s = String(x)
var ss = "\(x)"
var sss = toString(x)
var ssss = x.description
일부 사람들은 ss에 문제가 있다고 상상할 수 있습니다. 그러나 다른 내용이 포함 된 문자열을 작성하려는 경우 왜 그렇지 않습니까?
var ss = "\(x)"
예를 들어 이중을 문자열로 변환하는 방법을 정확하게 설명했습니다. 나는 쉽고 쉽다고 생각했다.
String(describing:)
디버깅 이외의 다른 용도로 사용해서는 안됩니다. 일반적인 문자열 초기화 프로그램이 아닙니다.
스위프트 3.0에서 :
var value: Int = 10
var string = String(describing: value)
String(describing:)
디버깅 이외의 다른 용도로 사용해서는 안됩니다. 일반적인 문자열 초기화 프로그램이 아닙니다.
스위프트 4 :
let x:Int = 45
let str:String = String(describing: x)
Developer.Apple.com> 문자열> init (설명 :)
String (describing :) 이니셜 라이저는 모든 유형의 인스턴스를 문자열로 변환하는 선호되는 방법입니다.
String(describing:)
디버깅 이외의 다른 용도로 사용해서는 안됩니다. 일반적인 문자열 초기화 프로그램이 아닙니다.
describing
방법은 내용을 설명 하기 위해 여기에 있습니다. 설명을 제공합니다. 때로는 변환과 동일하지만 때로는 그렇지 않습니다 . 선택 사항을 제공하면 describing
결과가 표시됩니다. 전환이 아닙니다. 다른 답변에서 설명한 것처럼 일반 String 이니셜 라이저를 사용하여 변환하는 간단한 전용 방법이 있습니다. 링크 된 전체 페이지를 읽으십시오.이 방법은 다른 방법을 사용하여 설명 을 검색한다는 것을 참조하십시오 . 일부는 정확한 변환을 기대할 경우 결과가 잘못 될 수 있습니다.
완전성을 위해 다음을 사용할 수도 있습니다.
let x = 10.description
또는 설명을 지원하는 다른 값.
스위프트 4 :
Optional () 없이 레이블에 값을 표시하려고합니다. 단어 .
여기서 x는 사용하는 Int 값입니다.
let str:String = String(x ?? 0)
String(describing:)
. 디버깅 이외의 용도로 사용해서는 안됩니다. 일반적인 문자열 초기화 프로그램이 아닙니다.
String()
이니셜 라이저를 사용하십시오 . 그러나 선택적으로 포장을 풀지 마십시오. 또는 예와 같이을 사용하십시오 ??
. : 이것처럼let str = String(x ?? 0)
미래에 시간과 번거 로움을 덜기 위해 Int 확장을 만들 수 있습니다. 일반적으로 확장, 열거 및 기타 재미있는 것들을 넣는 공유 코드 파일을 만듭니다. 확장 코드는 다음과 같습니다.
extension Int
{
func toString() -> String
{
var myString = String(self)
return myString
}
}
그런 다음 나중에 int를 문자열로 변환하려는 경우 다음과 같이 할 수 있습니다.
var myNumber = 0
var myNumberAsString = myNumber.toString()
toInt
또는 toInt()
.
myNumber.description
. 확장이 필요 없습니다.
에 신속 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)!
integerValue
'의 타입이 임을 명시 적으로 알려주기 때문 이다 Int
. 그런 다음 nil 값을 가질 수 없습니다. 그래서 컴파일러는 그것을 풀도록 지시합니다. 이것을 피하려면 다음과 같이 사용하십시오 let integerValue = Int(stringValue)
. 그런 다음 문제가 발생하지 않습니다. 늦은 답변 죄송합니다.
스위프트 2 :
var num1 = 4
var numString = "56"
var sum2 = String(num1) + numString
var sum3 = Int(numString)
Int를 유니 코드 문자열로 변환하려는 경우 다음을 수행 할 수 있습니다.
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)
}
String
초기화가 걸릴 수 있습니다 UnicodeScalar
.
let a =123456888
var str = String(a)
또는
var str = a as! String
swift 3.0에서는 아래와 같이 정수를 문자열로 변경할 수 있습니다
let a:String = String(stringInterpolationSegment: 15)
다른 방법은
let number: Int = 15
let _numberInStringFormate: String = String(number)
// 또는 15 대신 정수
toString
아래 답변에 표시된 기능을 사용하십시오 .