我举了下面的例子:
// Currencies
var price: Double = 3.20
println("price: \(price)")
let numberFormater = NSNumberFormatter()
numberFormater.locale = locale
numberFormater.numberStyle = NSNumberFormatterStyle.CurrencyStyle
numberFormater.maximumFractionDigits = 2
我希望有2个摘要的货币输出。如果货币摘要都是零,我希望它们不会显示。所以3,00应该显示为:3
。所有其他值应与两个摘要一起显示。
"我该怎么做"
3条答案
按热度按时间wecizke31#
必须将
numberStyle
设置为.decimal
样式,才能根据浮点数是否为偶数来设置minimumFractionDigits
属性:您还可以扩展格式化程序并创建静态格式化程序,以避免在运行代码时多次创建格式化程序:
第一次
运动场测试:
9rnv2umw2#
除了使用NSNumberFormatter之外,您还可以使用NSString init(格式:参数:)
var string = NSString(format:@"%.2g" arguments:price)
我不太擅长斯威夫特,但这个应该可以。
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265
ffscu2ro3#
使用此