我需要在一行打印一系列字符串。
var qty: Int = 1
var name: "Book"
var price: 13.50
我需要每个都附加空格,以便它们具有一定的长度,或者如果它们太长则删除了字符。对于qty id,它的长度为3,名称为30,价格为8
格式应为
1 Book 13.50
答案 0 :(得分:3)
有一个更好的,类似Swift的解决方案:
String(qty).stringByPaddingToLength(3, withString: " ", startingAtIndex: 0)
name.stringByPaddingToLength(30, withString: " ", startingAtIndex: 0)
String(price).stringByPaddingToLength(8, withString: " ", startingAtIndex: 0)
通过从结尾删除字符,或者根据给定填充字符串的必要附加次数,返回从接收者形成的新字符串。
这就是你需要的东西。
用法可以是这样的:
let output = String(qty).stringByPaddingToLength(3, withString: " ", startingAtIndex: 0) + name.stringByPaddingToLength(30, withString: " ", startingAtIndex: 0) + String(price).stringByPaddingToLength(8, withString: " ", startingAtIndex: 0)
<强>更新强>:
为了向右填充:
let p = String(price)
"".stringByPaddingToLength(8 - p.characters.count, withString: " ", startingAtIndex: 0) + p