iOS 高精度数据 精度丢失

2018-10-12 17:12:05 +08:00
 a498636530

▿ Optional<double></double>

NSDecimalNumber(value: num as! Double) 转换成 NSDecimal 类型 数据变成 1876543209.999999744 精度丢失

1639 次点击
所在节点    问与答
2 条回复
finab
2018-10-12 17:15:07 +08:00
打印出来会丢失, 参与计算没事
打印或转成字符串的时候保留有效小数位 四舍五入 round 一下吧
a498636530
2018-10-12 17:18:41 +08:00
打印出来精度丢失 高精度处理 保留 8 位 8 位以后直接处理掉( NSDecimalNumber.RoundingMode.bankers ) 就变成 1876543209.99999974 展示出来 精度丢失

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/497129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX