私はこの0000000012345,78のような数字を私に与えるインターフェースを持っています
だから私はそれらから数を作る方法を考え出しました。しかし、その数値で計算する必要があり、実際に必要なのは 10 進数です。
NSNumberFormatter *fmtn = [[NSNumberFormatter alloc] init];
[fmtn setFormatterBehavior:NSNumberFormatterBehavior10_4];
[fmtn setNumberStyle:NSNumberFormatterDecimalStyle];
[fmtn setDecimalSeparator:@","];
NSNumber *test = [fmtn numberFromString:@"0000000012345,78"];
NSNumber を NSDecimalNumber にするにはどうすればよいですか?
編集:これは私が最終的に得たコードです:
NSDictionary *localeDict = [NSDictionary dictionaryWithObject:@"," forKey:@"NSDecimalSeparator"];
NSDecimalNumber *test = [[NSDecimalNumber alloc] initWithString:@"00000000012345,78" locale:localeDict];
ロケール辞書をまとめる方法は「十分に文書化されている」とは言えず、例を見つけるのにグーグルで検索する必要がありました。
これも機能しました:
NSLocale *deLoc = [[NSLocale alloc] initWithLocaleIdentifier:@"de"];
NSDecimalNumber *testd = [NSDecimalNumber decimalNumberWithString:@"00000000012345,78" locale:deLoc];