2
我正在尝试为我的iOS应用程序创建有意义的辅助功能标签,并打击我认为是NSNumberFormatter的一个奇怪问题/限制。使用NSNumberFormatter限制小数位数SpellOutStyle
import UIKit
let decimal = 171.8926
let formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle
formatter.maximumFractionDigits = 2
print(formatter.stringFromNumber(decimal)!)
// "171.89"
formatter.numberStyle = .SpellOutStyle
print(formatter.stringFromNumber(decimal)!)
// "one hundred seventy-one point eight nine two six\n"
似乎.SpellOutStyle
没有出于某种原因荣誉maximumFractionDigits
。
我错过了什么,或者我是否必须像动物一样截断它们?
let truncDecimal = Double(Int(decimal * 100))/100.0
print(formatter.stringFromNumber(truncDecimal)!)
// "one hundred seventy-one point eight nine\n"
这似乎很疯狂我可以使用格式化程序去掉数字的数字而不是单词。
感谢。我知道乘法和除法的概念,但没有想到将它放在扩展中,这是一个优雅的解决方案。 – zkarj