0

iOSアプリケーションで、ユーザーが数値とフォーマットを入力できるようにしようとしています。ユーザーが指定したフォーマットの数値で文字列を取得したいです:

そのために私はこれを試しました:

- (NSString *)formatNumber:(NSNumber *)number withFormat:(NSString *)format
{
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
   [formatter setPositiveFormat:format];
    NSString *formatedString = [formatter stringFromNumber:number];
    return formatedString;
}

しかし、次のようなものを呼び出そうとすると:

NSNumber *number = [NSNumber numberWithDouble:1234567890];
NSString *string = [self formatNumber:number withFormat:@"###-###-####"];

私は結果が得られることを期待していました:123-456-7890

しかし、それは機能していません。

@"###-###-####" 形式は間違った構文ですか? または、NSNumberFormatter を間違って使用していますか?

助けてくれてありがとう

PS: 文字をループしてダッシュ (-) を挿入するアルゴリズムをハードコーディングしたくありません。これは、ユーザーが自由に変更できるため、その形式は単なる例にすぎません。

ありがとう

編集

申し訳ありませんが、ここにコードを書いているときに、行を見逃してしまいました。今それを追加しました

4

1 に答える 1

1

これは役に立つかもしれません:

https://discussions.apple.com/thread/2399192

重要な引用:

数値形式では、括弧とダッシュは使用できません。

于 2013-07-01T14:24:29.217 に答える