将NSString值转换为float时获得0.0000

时间:2012-07-24 05:51:59

标签: objective-c floating-point nsstring

在我的应用程序中,我尝试使用

将NSString值转换为float
NSString *value = [dict objectForKey:@"student_Percentage"];
float f = [value floatValue];

但是我得到f的值为0.00000。我试过NSNumberFormatter,NSNumber ......但仍然得到0.00000。

2 个答案:

答案 0 :(得分: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];

答案 1 :(得分:0)

嘿,我认为你的字面价值有问题。尝试使用此代码,它会给出正确的值。

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

或者也许使用valueforkey代替objectForKey