如何使NumberFormatter()结果可读?

时间:2018-01-31 20:53:31

标签: ios swift number-formatting nsnumberformatter

我有数字格式化功能。
当用户在textField中输入一个数字时,它会格式化并显示其他零。

示例:我输入了“15.45”。我的结果是“15.4500000000”。

如果数字之后没有任何符号,我怎么能让工作格式化程序隐藏0?

示例:我输入了“15.45”。我的结果是“15.45 x 0.085”=“1.31325”(不是“1.313250000000”)。

let formatter = NumberFormatter()
        formatter.locale = Locale.current
        formatter.numberStyle = .decimal
        formatter.minimumSignificantDigits = 10

        if let text = textField.text, let number = formatter.number(from: text) {

         year = number.doubleValue



         yearLabel.text = formatter.string(from: NSDecimalNumber(value: year).multiplying(by: 1))
}

2 个答案:

答案 0 :(得分:2)

尝试不将minimumSignificantDigits设置为10,只需删除该行。

let formatter = NumberFormatter()
formatter.locale = Locale.current
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 10

if let number = formatter.number(from: "1.123456789") {
    formatter.string(from: number)
}

答案 1 :(得分:0)

只需更改

formatter.minimumSignificantDigits = 10

formatter.maximumFractionDigits = 10