UITextFieldのテキストを解析して、パーセンテージに変換する必要があります。理想的には、ユーザーがテキストフィールドに12%または12%のようなものを入力し、それをパーセンテージとして数値に解析してもらいたいと思います。
これが変なところです。数値フォーマッタは12が好きではないようで、12%を100ではなく10000で割っているようです。
NSNumberFormatter *formatter = [[[NSNumberFormatter alloc] init] autorelease];
[formatter setNumberStyle:NSNumberFormatterPercentStyle];
NSNumber *n1 = [formatter numberFromString:@"12"];
NSNumber *n2 = [formatter numberFromString:@"12%"];
NSLog(@"n1 = %@", n1); // n1 = (null)
NSLog(@"n2 = %@", n2); // n2 = 0.0012
フォーマッタが期待どおりに0.12を返すようにするにはどうすればよいですか?
編集:フォーマッターが最初に失敗した場合にのみ発生するようです。フォーマッタが失敗しない場合、期待どおりに0.12を返します。変。