initWithString:locale:
INDEX>Foundation>NSDecimalNumber
十進数オブジェクトをローカライズされた文字から初期化して返します
- (instancetype)initWithString:(NSString *)numericString locale:(id)locale
convenience init(string numberValue: String?, locale locale: AnyObject?)
解説
十進数オブジェクトを文字から初期化して返します。
3e5(=300000)のような表記も使えます。
地域によっては桁区切り記号を","の代わりに"."を使うなどの場合があります。
【location】数字の中に含まれる文字、記号の辞書
● NSDecimalSeparator 小数点
● NSThousandsSeparator 桁区切り
引数
( NSString * )numberValue
numberValue: String?
数字を表す文字列
( NSDictionary * )locale
locale: AnyObject?
フレームワーク
Foundation
クラス
NSDecimalNumber
使用可能
0S X10.0-
例文
#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]; [numFormat setMaximum:dNum]; [numFormat setPositiveFormat:@"#,##0.00"]; [myOutlet setFormatter:numFormat]; NSLog([NSString stringWithFormat:@"%.2f",[[numFormat maximum] doubleValue]]); } @end
//NSDecimalNumber initWithString:locale: @IBAction func function008(sender: AnyObject) { let localeInfo: Dictionary = [ "NSDecimalSeparator": "/", //小数点 "NSThousandsSeparator":"*" //桁区切り ] let dNum : NSDecimalNumber = NSDecimalNumber(string: "3000/00", locale: localeInfo) let numFormat : NSNumberFormatter = NSNumberFormatter() numFormat.minimum = dNum //最小値が3000 numFormat.positiveFormat = "#,##0.00" textField.formatter = numFormat NSLog("function008") }