私は2つの通貨価値を持っています:£2.60と£22,000。どちらもCoreDataと同じようNSDecimalNumber
に保存されます。以下を使用して、それらから文字列を作成します。
// The app will be GB only, which is the reason locale is set to en_GB
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setLocale: locale];
[formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
// job is a Core Data entity, value1 and value2 or NSDecimalNumbers
NSString *value1 = [formatter stringFromNumber: [job value1]]; // 2.60
NSString *value2 = [formatter stringFromNumber: [job value2]]; // 22000
NSString *testString = [NSString stringWithFormat:@"%@ and %@", value1, value2];
これは全体としては問題なく機能しますがtestString
、£2.60および£22,000.00として印刷されます。
[formatter setMaximumFractionDigits: 0];
largeValueのみを実装するための最良の方法は何でしょうか?