我有一個值被存儲爲一個NSDecimalNumber,當我將它轉換爲雙精度時,它正在失去精度。如何將NSDecimalNumber轉換爲雙倍
對於我正在調試的當前數據段,值爲0.2676655。當我發送一個doubleValue消息時,我得到0.267665。它截斷而不是四捨五入,這對一些使用哈希來檢測數據更改以進行同步操作的代碼造成嚴重破壞。
NSDecimalNumber實例來自第三方框架,所以我不能用原語double來代替它。最終它被插入到一個NSMutableString中,所以我在一個字符串表示後,但它需要通過一個格式說明符「%.6lf」,基本上我需要小數點後六位數字,因此它看起來像0.267666。
我該如何做到這一點而不失精度?如果有一種很好的方式來格式化NSDecimalNumber而不轉換爲雙精度,那也可以。