如何将 NSDecimalNumber 值转换为字符串?
// Return type is NSDecimalNumber
var price = prod.minimumPrice // 10
// need a String
cell.priceLB.text = NSString(format:"%f", prod.minimumPrice) as String
如何将 NSDecimalNumber 值转换为字符串?
// Return type is NSDecimalNumber
var price = prod.minimumPrice // 10
// need a String
cell.priceLB.text = NSString(format:"%f", prod.minimumPrice) as String
你可以尝试以下几个选项。它们都应该返回10。此外,请检查为什么需要创建NSString格式化数字并将其转换为字符串。
"\(price)"
String(describing: price)
NSString(format: "%@", price)
price.description(withLocale: nil)
与 NSDecimalNumber
一起使用,而不是 NumberFormatter
。 - SulthanNSDecimalValue继承自NSNumber。
NSNumber有一个名为stringValue
的属性。
var stringValue: String { get }
The number object's value expressed as a human-readable string.
The string is created by invoking description(withLocale:) where locale is nil.
这里是关于IT技术的内容。两种方法:
使用 NumberFormatter
直接使用 stringValue
属性
使用 NumberFormatter 将代码固定为两位小数:
Swift 5
let number = NSDecimalNumber(string: "1.1")
print(number.stringValue) //"1.1"
let fmt = NumberFormatter()
fmt.numberStyle = .none;
fmt.minimumFractionDigits = 2;
fmt.minimumIntegerDigits = 1;
fmt.roundingMode = .halfUp;
let result = fmt.string(from: number) ?? "0.00"
//1.10
var price = prod.minimumPrice
cell.priceLB.text = "\(price)"
//or
cell.priceLB.text = String(describing: price)