Когда я конвертирую NSNumber
в NSDecimalNumber
, это преобразование часто неверно.NSNumber для NSDecimalNumber конверсионный выпуск
У меня есть ряд как 92.43, когда я преобразовать это значение в десятичной или двойной [номер decimalValue] или [число] doubleValue значение изменяется как 92.4299999999 ..
я сделал так много вещей, как [NSDecimalNumber decimalNumberWithDecimal: [ number decimalValue], он всегда возвращает «92.429999» к этому числу.
Как использовать NSNumber originalValue
десятичное или двойное значение не имеет значения. Я хочу использовать «92.43» это число как «92.43». И почему это значение меняется?
Эта проблема очень распространена и для других языков - хотя компьютеры пытаются, они не идеальны с точностью (к сожалению, для нас, людей: P). Упрощенным решением было бы округлить десятичное число после преобразования –
возможный дубликат [Objective C Issue With Rounding Float] (http://stackoverflow.com/questions/6333711/objective-c-issue-with-rounding-float) –
Спасибо Bucco. Когда я добавляю или умножаю два десятичных значения после этого округления. Но мне интересно, почему это значение меняется, и вы говорили об общих проблемах :) Я получил благодарность. Знаете ли вы, что все равно, как получить первоначальное значение, не округляя. – zapdroid