我有一个字符串
let str = "2.1"
我想将其强制转换为Double,并始终在分隔符之后使用两位数字:
let double = 2.10
所以我要做的是:
let formatter = NumberFormatter()
formatter.decimalSeparator = "."
formatter.minimumFractionDigits = 2
let myDoubleValue = formatter.number(from: str)?.doubleValue
输出仍然只有1个小数位数:2.1
为什么?
答案 0 :(得分: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
}
}
答案 1 :(得分:0)
您不能在双精度数后面加上0,它会截断。
如果只是显示值,请将其保留为字符串。 如果您要进行计算,那么0会产生什么变化?