我有一个字符串
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
为什么?
也许你的意思是:
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会有什么不同?