使用NumberFormatter将数字添加到数字

问题描述 投票:-4回答:2

我有一个字符串

let str = "2.1"

我希望将它转换为Double,并且在分隔符之后总是有2位数字:

let double = 2.10 

所以我做的是:

let formatter = NumberFormatter()
formatter.decimalSeparator = "."
formatter.minimumFractionDigits = 2

let myDoubleValue = formatter.number(from: str)?.doubleValue

输出仍然只有1个小数位:2.1

为什么?

swift foundation numberformatter
2个回答
1
投票

也许你的意思是:

let str = "2.1"
if let double = Double(str) as? NSNumber {
    let formatter = NumberFormatter()
    formatter.decimalSeparator = "."
    formatter.minimumFractionDigits = 2
    if let myNewStringValue = formatter.string(from: double) {
        print(myNewStringValue) // 2.10
    }
}

0
投票

你不能有一个尾随0的双尾,它会截断。

如果您只是显示值,请将其保留为字符串。如果你正在进行计算,0会有什么不同?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.