macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

compare:

INDEX>Foundation>NSDecimalNumber

十進数オブジェクトを比較して結果を返します

Objective-C

- (NSComparisonResult)compare:(NSNumber *)decimalNumber

Swift

func compare(_ decimalNumber: NSNumber) -> NSComparisonResult

解説

十進数オブジェクトを比較して結果を返します。
【NSComparisonResult】
Objective-C
NSOrderedAscending レシーバの方が小さい
NSOrderedSame 同じ
NSOrderedDescending レシーバの方が大きい

Swift
OrderedAscending
OrderedSame
OrderedDescending

返り値

Objective-C

( NSComparisonResult )

Swift

NSComparisonResult

比較結果

引数

Objective-C

( NSNumber * )decimalNumber

Swift

_ decimalNumber: NSNumber

十進数オブジェクト

クラス

NSDecimalNumber

使用可能

10.0

参照

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
NSDecimalNumber *dNum1 = [[[NSDecimalNumber alloc] autorelease] initWithString:@"3000"];
NSDecimalNumber *dNum2 = [[[NSDecimalNumber alloc] autorelease] initWithString:@"200"];

switch ([dNum1 compare:dNum2]){
        case NSOrderedAscending:
                NSLog(@"NSOrderedAscending");
                break;
        case NSOrderedSame:
                NSLog(@"NSOrderedSame");
                break;
        case NSOrderedDescending:
                 NSLog(@"NSOrderedDescending");
                break;
        }
}

@end

Swift

    //NSDecimalNumber compare
    @IBAction func function027(sender: AnyObject) {
        let dNum1 : NSDecimalNumber =
        NSDecimalNumber(string: "3.0")
        let dNum2 : NSDecimalNumber =
        NSDecimalNumber(string: "3.141295")
        
        switch dNum1.compare(dNum2) {
        case NSComparisonResult.OrderedAscending:
            NSLog("OrderedAscending")
        case NSComparisonResult.OrderedSame:
            NSLog("OrderedSame")
        case NSComparisonResult.OrderedDescending:
            NSLog("OrderedDescending")
//        default:
//            NSLog("default")
        }
        //->OrderedAscending
    }

編集時のバージョン

OS X 10.11
Swift2.0