たとえば、プリミティブを使用して、これを実行します
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は使いたくありません。または、それらを上記のものに変換した場合、誰かが精度について検証/説明できますか?