保存到数组时双倍再次变长

Double become long again when save to array

我想将一些Double保存到一个数组中,我只需要有2位小数的Double。所以我将 origin double 四舍五入到小数点后 2 位,当我打印四舍五入的 Double 时,结果是正确的。但是,当我将这些 Double 保存到一个数组并打印 Double 时,结果变成了许多小数位。

我应该怎么做才能强制数组中只有 2 个十进制 Double?

例如:

Double -> 2.344563343534   // Original value 

rounded -> 2.35            // Rounded value I want

将四舍五入的 Double 保存到数组并打印后:

Double in array -> 2.34444444444444   // I hope this value only in 2 decimal place.

根据要求将 Double 转换为 String 最多 2 位小数。

let num = 2.344563343534
let str = String(format: "%.2f", num)
print(str) //"2.34"

现在,从 str

获取 Double
let doubleValue = Double(str)
print(doubleValue) //2.34