Swift中的精确字符串格式指定器
有时,为了在应用程序中使用字符串,有必要以自定义格式对其进行格式化。例如,你可以格式化产品价格、小数点数字等。
在Swift中,你可以使用精度指定器来指定小数点后的位数或在一个字符串中显示的字符数。
示例 1
要指定一个浮点数的小数位数,可以使用%.nf格式指定器,其中n是小数位数。
import Foundation
let productPrice = 300.3456789
let formattedPrice = String(format: "%.2f", productPrice)
print("The formatted price is: ", formattedPrice)
输出
The formatted price is: 300.35
“%f “格式是一个字符串,但在上面的例子中,”%.2f “表示小数点后有两位数字的浮点数。
示例 2
你也可以使用* 字符作为精度指定符的通配符,在这种情况下,精度将从参数列表中获取。
import Foundation
let productPrice = 300.3456789
let precision = 3
let formattedPrice = String(format: "%.*f", precision, productPrice)
print("The formatted price is: ", formattedPrice)
输出
The formatted price is: 300.346
使用rounded()函数
rounded()方法将指定的值四舍五入到最接近的int或long值,并返回它。
Rounded()方法的语法是
num.rounded()
示例
在这个例子中,我们将使用rounded函数,并将其值打印成接近的int或long值。
import Foundation
let x = 16.40
print(x.rounded(.toNearestOrAwayFromZero))
// prints "16.0"
print(x.rounded(.towardZero))
// prints "16.0"
print(x.rounded(.up))
// prints "17.0"
print(x.rounded(.down))
// prints "16.0"
输出
16.0
16.0
17.0
16.0
结论
swift格式指定器对于转换数值和处理十进制数值非常有用。你可以用任何你需要的方式来格式化双数和浮动值。