我需要创建一个格式的字符串,可以将int,long,double等类型转换为字符串.使用Obj-C,我可以通过以下方式完成.
NSString *str = [NSString stringWithFormat:@"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, DOUBLE_VALUE, STRING_VALUE];
如何用swift做同样的事情?
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)"
没什么特别的
let str = NSString(format:"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, LONG_VALUE, STRING_VALUE)
我想这可以帮到你:
let timeNow = time(nil) let aStr = String(format: "%@%x", "timeNow in hex: ", timeNow) print(aStr)
首先阅读Swift语言的官方文档.
答案应该是
var str = "\(INT_VALUE) , \(FLOAT_VALUE) , \(DOUBLE_VALUE), \(STRING_VALUE)" println(str)
这里
1)默认为任何浮点值 double
EX. var myVal = 5.2 // its double by default;
- >如果要显示浮点值,则需要明确定义如a
EX. var myVal:Float = 5.2 // now its float value;
这一点要清楚得多.