Например, с примитивным, я сделаю это
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, так как я обрабатываю валюту здесь. Или, если я преобразовываю их в упомянутые выше, может ли кто-нибудь проверить/объяснить точность?