如何处理String到Double的转换?

时间:2019-04-15 17:26:39

标签: swift string double

我从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
问题是第二个数字。任何想法如何解决? :)

1 个答案:

答案 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