Например, с примитивом я сделаю это
if ( (x >= 6000) && (x <= 20000) )
// do something here
] и с NSDecimalNumber, это то, что у меня есть
if ( (([x compare:[NSNumber numberWithInt:6000]] == NSOrderedSame) ||
([x compare:[NSNumber numberWithInt:6000]] == NSOrderedDescending))
&& (([x compare:[NSNumber numberWithInt:20000]] == NSOrderedSame) ||
([x compare:[NSNumber numberWithInt:6000]] == NSOrderedAscending)) )
{
// do something here
}
Есть ли другие способы ( проще и элегантнее) к этому сравнению? Если я конвертирую значение в примитив, какой примитив я использую? Я не хочу использовать CGFloat, float или double, поскольку здесь я обрабатываю валюту. Или, если я конвертирую их к упомянутым выше, может ли кто-нибудь проверить / объяснить точность?