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