如果你有这样的代码,那么result
将是“2.99”:
let n = 2.99
let result = String(format: "%.2f", n)
但是,如果你有这样的代码:
let nNS:NSDecimalNumber = 2.99
let result2 = String(format: "%.2f", nNS)
然后result2
为“0.00”。
如何将NSDecimalNumber
格式化为这样的字符串?
答案 0 :(得分:2)
您可以使用NumberFormatter
将NSNumber
转换为字符串。
let priceNS:NSDecimalNumber = 2.99
let nf = NumberFormatter()
nf.maximumFractionDigits = 2
nf.string(from: priceNS) //2.99
答案 1 :(得分:2)
您应该使用NumberFormatter格式化产品价格并使用您的产品区域设置:https://developer.apple.com/documentation/storekit/skproduct/1506094-price
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .currency
numberFormatter.locale = someSKProduct.priceLocale
let formattedPrice = numberFormatter.string(from: someSKProduct.price) ?? ""