Nsnumbers и это проблема представления стоимости [дублировать]IOS

Программируем под IOS
Ответить
Anonymous
 Nsnumbers и это проблема представления стоимости [дублировать]

Сообщение Anonymous »

объяснение, почему это не дубликат этого заостренного вопроса и ответов!: < /strong>

я столкнулся с этой проблемой в отношении незначительной реализации Objective-C и типа NSNumber имеет различную точность плавающей запятой, и мне просто нужно было знать, что на самом деле происходит, и что я должен сделать, чтобы решить эту проблему. Это указанные вопросы и ответы недостаточно моего вопроса с помощью его ответа. Я был обеспокоен тем, чтобы понять поведение nsnumbers .
У меня есть очень простой метод, который использует nsnumber в основном:

Код: Выделить всё

+ (NSNumber*)addNumber:(NSNumber*)firstNumber withSecondNumber:(NSNumber*)secondNumber {
NSNumber *result = [NSNumber numberWithDouble:([firstNumber doubleValue] + [secondNumber doubleValue])];
NSLog(@"Result: %@", result);   // This will print out our result for testing
return result;
}
< /code>
Итак, если я называю этот метод с параметрами следующим образом: < /p>
[Fundamentals addNumber:[NSNumber numberWithDouble:5.0]
withSecondNumber:[NSNumber numberWithDouble:3.5]];
printed output: 8.5 [/b] ---> Точно то, что я ожидал
, но если я называю этот метод с помощью метода с помощью Следующие параметры: < /p>

Код: Выделить всё

[Fundamentals addNumber:[NSNumber numberWithDouble:50.0]
withSecondNumber:[NSNumber numberWithDouble:36.54]];
он распечатывает следующее: 86.53999999999999 --->, что беспокоило меня и все еще поразило меня и ставит под сомнение мой мозг, пока это не повредит! : (
Примечание: не только при печати, даже в отладчике, но и показывает представление значения, как оно распечатано выше.
может кто -нибудь объяснить это, пожалуйста?

Подробнее здесь: https://stackoverflow.com/questions/381 ... tion-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»