[ios] 형식으로 문자열을 만드는 방법은 무엇입니까?

int, long, double 등의 유형을 문자열로 변환 할 수있는 형식의 문자열을 만들어야합니다. Obj-C를 사용하여 아래 방법으로 할 수 있습니다.

NSString *str = [NSString stringWithFormat:@"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, DOUBLE_VALUE, STRING_VALUE];

스위프트와 동일한 작업을 수행하는 방법은 무엇입니까?



답변

나는 이것이 당신을 도울 수 있다고 생각합니다.

let timeNow = time(nil)
let aStr = String(format: "%@%x", "timeNow in hex: ", timeNow)
print(aStr)

결과 예 :

timeNow in hex: 5cdc9c8d


답변

특별한 것은 없다

let str = NSString(format:"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, LONG_VALUE, STRING_VALUE)


답변

let str = "\(INT_VALUE), \(FLOAT_VALUE), \(DOUBLE_VALUE), \(STRING_VALUE)"

업데이트 : Swift가 String(format:)API에 추가 하기 전에이 답변을 썼습니다 . 최고 답변에서 제공 한 방법을 사용하십시오 .


답변

NSString필요 하지 않습니다!

String(format: "Value: %3.2f\tResult: %3.2f", arguments: [2.7, 99.8])

또는

String(format:"Value: %3.2f\tResult: %3.2f", 2.7, 99.8)


답변

나는 둘 다 주장

let str = String(format:"%d, %f, %ld", INT_VALUE, FLOAT_VALUE, DOUBLE_VALUE)

let str = "\(INT_VALUE), \(FLOAT_VALUE), \(DOUBLE_VALUE)"

사용자가 형식에 대해 물었으므로 두 가지 경우 모두 허용되며 두 경우 모두 요구 사항에 적합합니다.

int, long, double 등의 유형을 문자열로 변환 할 수있는 형식의 문자열을 만들어야합니다.

분명히 전자는 후자보다 형식을 더 세밀하게 제어 할 수 있지만 후자가 허용되는 대답이 아니라는 것을 의미하지는 않습니다.


답변

var str = "\(INT_VALUE) , \(FLOAT_VALUE) , \(DOUBLE_VALUE), \(STRING_VALUE)"


답변

먼저 Swift 언어 공식 문서를 읽으십시오 .

대답은

var str = "\(INT_VALUE) , \(FLOAT_VALUE) , \(DOUBLE_VALUE), \(STRING_VALUE)"
println(str)

여기

1) 기본적으로 모든 부동 소수점 값 double

EX.
 var myVal = 5.2 // its double by default;

-> 부동 소수점 값을 표시하려면 다음과 같이 명시 적으로 정의해야합니다

 EX.
     var myVal:Float = 5.2 // now its float value;

이것은 훨씬 더 분명하다.