如何将分隔符后的两位数字转换为字符串?
How to convert Decimal to String with two digits after separator?
这就是我现在所做的:
扩展十进制 {
var formattedAmount: 字符串 {
让格式化程序 = NumberFormatter()
formatter.generatesDecimalNumbers = 真
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
return formatter.string(from: self) //不匹配类型
}
}
但我无法从 Decimal
创建 NSNumber
。
这应该有效
extension Decimal {
var formattedAmount: String? {
let formatter = NumberFormatter()
formatter.generatesDecimalNumbers = true
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
return formatter.string(from: self as NSDecimalNumber)
}
}
这个:
formatter.string(from: ...) // requires a NSNumber
您可以这样做:
formatter.string(for: self) // which takes Any as argument
或者:
string(from: self as NSDecimalNumber) // cast self to NSDecimalNumber
这就是我现在所做的:
扩展十进制 { var formattedAmount: 字符串 { 让格式化程序 = NumberFormatter() formatter.generatesDecimalNumbers = 真 formatter.minimumFractionDigits = 2 formatter.maximumFractionDigits = 2 return formatter.string(from: self) //不匹配类型 } }
但我无法从 Decimal
创建 NSNumber
。
这应该有效
extension Decimal {
var formattedAmount: String? {
let formatter = NumberFormatter()
formatter.generatesDecimalNumbers = true
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
return formatter.string(from: self as NSDecimalNumber)
}
}
这个:
formatter.string(from: ...) // requires a NSNumber
您可以这样做:
formatter.string(for: self) // which takes Any as argument
或者:
string(from: self as NSDecimalNumber) // cast self to NSDecimalNumber