NSNumberFormatterを使用して通貨をフォーマットしていますが、floatを使用するとフォーマッターが機能しません。ただし、doubleを使用すると機能します。ダブルで作業する必要がないので、フロートで作業する必要があります。
float t1 = 999999.99;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setAllowsFloats:YES];
[formatter setMaximumFractionDigits:2];
[formatter setAlwaysShowsDecimalSeparator:YES];
[formatter setGeneratesDecimalNumbers:YES];
NSString *formattedOutput = [formatter stringFromNumber:[NSNumber numberWithFloat:t1]];
NSLog(@"Output as currency: %@", formattedOutput);
この出力-通貨としての出力:$ 9,99,999.99ではなく、$1,000,000.00
これについてご協力いただきありがとうございます。