【发布时间】:2016-09-03 21:42:39
【问题描述】:
我正在尝试为我的 iOS 应用程序创建有意义的可访问性标签,并遇到了我认为 NSNumberFormatter 的奇怪问题/限制。
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"
我可以使用格式化程序去除数字而不是单词的数字,这似乎很疯狂。
【问题讨论】:
标签: swift number-formatting nsnumberformatter