2010-07-02 87 views
1

转换的NSString的NSNumber当转换字符串(YaxisData)到的NSNumber当我有问题。我必须返回一个NSNumber的企业核心积来获得图形做,但它不工作。这里的示例代码问题在iPhone

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index{ 

NSNumber *num = [NSNumber numberWithDouble:[[YaxisData objectAtIndex:index] doubleValue]]; 
return num; 

}

NUM返回垃圾数据,如-1或993494949494,但是当我登录数量的双重价值,它打印正确的值。我不能够作为函数签名只需要退还的NSNumber的到,返回此双重价值。

NSLog(@"Number: %f", [num doubleValue]); 

我被困在这里,真的很感谢在这方面的任何帮助。谢谢!

+0

是什么'YaxisData'并在它与 – 2010-07-02 20:04:06

+0

来我缺少的三个输入参数,用于他们没有,而是另一个变量,我们一无所知 – Eiko 2010-07-02 20:18:09

+0

@Franci佩诺夫:??YaxisData是被存储号码为字符串数组。 @Eiko:这是用于获取数据的每一行,这样的图形可以绘制一个核心情节的方法什么方法确实是最重要的,我想知道是将一个ARR的正确方法将字符串转换为NSNumber。 – Tyler 2010-07-03 04:37:30

回答

1

这会在某种程度上给一个更好的结果?

NSString *aString = [YaxisData objectAtIndex:index]; 
NSLog(@"%@", aString); 
double value = [aString doubleValue]; 
NSLog(@"%f", value); 
NSNumber *number = [NSNumber numberWithDouble:value]; 
NSLog(@"%@", number); 

如果没有,你能展现的NSLog()的结果?

我知道在实践中它看起来是相同的代码,但人们可能并不确定-objectAtIndex:总是返回一个字符串。它可能是一个本地化的问题,以及(对于小数点分隔符逗号和点可能会混在一起,这肯定会弄乱你的成绩在国产化问题的情况下,查看以下链接:

How to convert an NSString into an NSNumber