macOS/iOS API解説

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

目次

descriptionWithLocale:

INDEX>Foundation>NSDecimalNumber

レシーバーの内容を表現する文字列を返します

Objective-C

- (NSString *)descriptionWithLocale:(id)locale

Swift

func descriptionWithLocale(_ locale: AnyObject?) -> String

解説

レシーバーの内容を表現する文字列を返します。
セパレータはlocaleに依存します。
【location】数字の中に含まれる文字、記号の辞書
● NSDecimalSeparator 小数点
● NSThousandsSeparator 桁区切り

返り値

Objective-C

( NSString * )

Swift

String

文字列

引数

Objective-C

(id)locale

Swift

_ locale: AnyObject?

ローカライズ辞書、NSDictionary

クラス

NSDecimalNumber

使用可能

OS X 10.0-
iOS 2.0-

参照

関連記事(外部サイト)

例文

Objective-C

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
NSDictionary *dic= [[NSDictionary alloc] initWithObjectsAndKeys:
                 @",",@"NSDecimalSeparator",//小数点区切り
                		nil];
                
NSNumberFormatter *numFormat = [[[NSNumberFormatter alloc] init] autorelease];
NSDecimalNumber *dNum = [[[NSDecimalNumber alloc] initWithString:@"-2,5006E3" locale:dic] autorelease];
NSLog([dNum descriptionWithLocale:dic]);
[numFormat setMaximum:dNum];
[numFormat setPositiveFormat:@"#,##0.00"];
[myOutlet setFormatter:numFormat];

NSLog([NSString stringWithFormat:@"%.2f",[[numFormat maximum] doubleValue]]);
}

@end

Swift

    //NSDecimalNumber descriptionWithLocale:
    @IBAction func function024(sender: AnyObject) {
        //カスタムの丸め挙動 小数点第二位でRoundPlain
        let behavior : NSDecimalNumberHandler = NSDecimalNumberHandler(roundingMode: NSRoundingMode.RoundPlain, scale: 2, raiseOnExactness: false, raiseOnOverflow: false, raiseOnUnderflow: false, raiseOnDivideByZero: false)
        
        let dNum1 : NSDecimalNumber =
        NSDecimalNumber(string: "3.141592")
        let dNum : NSDecimalNumber = dNum1.decimalNumberByRoundingAccordingToBehavior(behavior)
        let numFormat : NSNumberFormatter = NSNumberFormatter()
        numFormat.minimum = dNum    //最小値が3.14000
        numFormat.positiveFormat = "#,##0.000000"
        textField.formatter = numFormat
        let localeInfo: Dictionary = [
            "NSDecimalSeparator": "/",  //小数点
            "NSThousandsSeparator":"*"  //桁区切り
        ]
        NSLog("%@",dNum.descriptionWithLocale(localeInfo))
        //->3/14
        commentLabel.stringValue = "←最小値が3.14000"
    }

編集時のバージョン

OS X 10.11
Swift2.0