我有一个值存储为 NSDecimalNumber,当我将其转换为双精度时,它会丢失精度。
对于我正在调试的当前数据,该值为 0.2676655。当我向它发送双值消息时,我得到 0.267665。它是截断而不是舍入,这对一些使用哈希来检测同步操作的数据更改的代码造成了严重破坏。
NSDecimalNumber 实例来自第三方框架,因此我不能只用原始双精度数替换它。最终它被插入到 NSMutableString 中,所以我在使用字符串表示形式,但是它需要通过“%.6lf”的格式说明符,基本上我需要小数点后六位数字,所以它看起来像 0.267666。
我怎样才能在不丢失精度的情况下做到这一点?如果有一种很好的方法来格式化 NSDecimalNumber 而无需转换为双精度也可以。