Ответ 1
Существует два решения:
- Используйте
int
и всегда отслеживайте денежные значения в центах (или наименьшее возможное разделение любой валюты, которую вы используете). Используйте только вычисления с целыми числами. - Используйте
NSDecimalNumber
, который выполняет точную десятичную арифметику.
Решение № 1 требует, чтобы вы конвертировали между центами и долларами всякий раз, когда вы вводите или выдаете денежные значения, тогда как решение № 2 может быть беспорядочным для кода (например, вам нужно написать что-то вроде [num1 decimalNumberByAdding:num2]
вместо num1 + num2
, чтобы добавьте два числа).
Я бы порекомендовал решение №1, но пойдите с тем, что, по вашему мнению, будет работать лучше всего.