如何将Decimal转换为分隔符后两位数的string?
这就是我现在所做的:
扩展十进制{ var formattedAmount:String { 让formatter = NumberFormatter() formatter.generatesDecimalNumbers = true formatter.minimumFractionDigits = 2 formatter.maximumFractionDigits = 2 返回formatter.string(from:self)//不匹配types } }
但我不能从Decimal
创buildNSNumber
。
这个:
formatter.string(from: ...) // requires a NSNumber
你可以这样做:
formatter.string(for: self) // which takes Any as argument
要么:
string(from: self as NSDecimalNumber) // cast self to NSDecimalNumber
这应该工作
extension Decimal { var formattedAmount: String? { let formatter = NumberFormatter() formatter.generatesDecimalNumbers = true formatter.minimumFractionDigits = 2 formatter.maximumFractionDigits = 2 return formatter.string(from: self as NSDecimalNumber) } }