7

unicharからintに変換しようとすると奇妙な問題が発生します。

のようないくつかの数字を含む文字列があり@"12345"ます。この番号を個別に保存します。つまり、5つの番号、1、2、3、...が必要です。さて、

NSLog(@"Value: %C", [myString characterAtIndex:0]);

戻り値

Value: 1

これ:

NSLog(@"Value: %@", [NSNumber numberWithUnsignedChar:[myString characterAtIndex:0]]);

戻り値

Value: 49

助けていただければ幸いです、ファビアン

4

1 に答える 1

10

上記のコードでは、まさにあなたが求めているものを手に入れています。文字の数値'1'は49で、そこからNSNumberを作成しています。

が必要な場合は1、0〜9の数字がASCII / UTF-8テーブルに順番に配置されているという事実を利用して、受け取ったユニチャーから適切な値を減算できます。

このコードスニペットを試して、正しい方向に進んでください。

NSString *s = @"0123456789";
for (int i = 0; i < [s length]; i++) {
    NSLog(@"Value: %d", [s characterAtIndex:i]);
}
于 2010-11-14T19:22:01.903 に答える