macOS/iOS API解説

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

目次

setLocale:

調査中
-(void)setLocale:(NSDictionary *)aLocale:

解説

スキャナーにロケールをセットします。主に小数点区切りの設定に使います。日本やアメリカでは小数点区切りは"."ですが、","を使うところもありますので、"NSDecimalSeparator"をキーとした辞書を渡します。

返り値

( void )

なし

引数

( NSDictionary * )aLocale

ローカライズ辞書

クラス

NSScanner

Instance Methods

使用可能

10.0

参照

- locale

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
    //NSScannerを作る
    NSDictionary *dic= [[NSDictionary alloc] initWithObjectsAndKeys:
                 @",",@"NSDecimalSeparator",//小数点区切りフランスでは,が小数点
                		nil];
    NSScanner *scanString;
    NSMutableString *str;//文字を作る
    NSDecimalNumber *dNum = [[NSDecimalNumber alloc] init];//十進数
    NSDecimal dec = [dNum decimalValue];//十進数
    NSDecimalNumber *deNum;
    
    scanString = [NSScanner localizedScannerWithString:@"300,000"];
    [scanString setLocale:dic];
    //NSSCannerの文字列
    NSLog([NSString stringWithFormat:@"string %@",[scanString string]]);
    
    //スキャナは十進数オブジェクトか
    if ([scanString scanDecimal:&dec]){
    NSLog(@"scanDecimal YES");
    }else{
    NSLog(@"scanDecimal NO");
    }


    deNum = [NSDecimalNumber decimalNumberWithDecimal:dec];
    NSLog([NSString stringWithFormat:@"number = %f",[deNum doubleValue]]);



    //localeを表示
    NSLog([[scanString locale] description]);
}

@end