我从String转换为Double时遇到问题。转换时会返回奇怪的值。我已经在我的大型Calc应用程序中使用了它,但我将其简化为这个内部游乐场。
var nineNine : String = "9.9"
var nineEight : String = "9.8"
var firstNumber = Double(nineNine) as! Double // Returns 9.9
var secondNumber = Double(nineEight) as! Double // Returns 9.8000000001
我期望9.8的输出是9.8000000001
问题是第二个数字。任何想法如何解决? :)
答案 0 :(得分:0)
1-如果要将String转换为带有2个十进制值的Double并更改为2个十进制的double值。尝试此代码
/// String to Double
let yourValue = "9.8"
let formatter = NumberFormatter()
formatter.minimumFractionDigits = 2
if let myInteger = Double(yourValue) {
let myNumber = NSNumber(value: myInteger)
let secondNumber = currencyFormatter.string(from: myNumber)
}
// result = 9.80