首页 > 解决方案 > 保存到数组时再次变长

问题描述

我希望将一些 Double 保存到一个数组中,我只需要有 2 个小数位 Double。所以我将原点 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.

标签: iosarraysswiftdouble

解决方案


根据要求将其转换DoubleString最多 2 位小数。

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

现在,获取Doublefrom str

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

推荐阅读