Diferentes maneiras de comparar NSDecimalNumber
Por exemplo, com primitivo, eu vou fazer isso
if ( (x >= 6000) && (x <= 20000) )
// do something here
e com NSDecimalNumber, é isso que eu tenho
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
}
Existem outras maneiras (mais fáceis e mais elegantes) para essa comparação? Se eu converter o valor em primitivo, qual primitivo devo usar? Não quero usar CGFloat, float ou double, pois estou lidando com moeda aqui. Ou se eu os converter nos mencionados acima, alguém pode verificar / explicar sobre a precisão?