0

在我的应用程序中,我尝试使用将 NSString 值转换为浮点数

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 回答