0

私のアプリケーションでは、NSString 値を float に変換しようとしました

NSString *value = [dict objectForKey:@"student_Percentage"];
float f = [value floatValue];

しかし、私は f の値を 0.00000 として取得しています。NSNumberFormatter、NSNumber を試してみましたが、それでも 0.00000 になります。

4

2 に答える 2

1

floatValue は、受信者が浮動小数点数の有効なテキスト表現で始まっていない場合、0.0 を返します。

[dict objectForKey:@"student_Percentage"]値は 8.9 のようにする必要があります。
文字列から二重引用符を削除します。

NSMutableString *value = [dict objectForKey:@"student_Percentage"];
[value replaceOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [value length])];
float f = [value floatValue];
于 2012-07-24T05:58:08.580 に答える
0

ねえ、あなたの dict 値に問題があると思います。正しい値が得られるこのコードを試してください。

NSString *temp = @"25.38";
float p = [temp floatValue];
NSLog(@"%f",p);

または、valueforkeyの代わりに使用することもできobjectForKeyます。

于 2012-07-24T06:10:26.380 に答える