当将字符串(YaxisData)转换为NSNumber时,我遇到了问题。我必须返回一个核心图的NSNumber来完成这个图,但是它不能工作。这是示例代码
-(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]);我被困在这里,希望能在这方面提供任何帮助。谢谢!
发布于 2011-04-21 21:33:22
这会带来更好的结果吗?
NSString *aString = [YaxisData objectAtIndex:index];
NSLog(@"%@", aString);
double value = [aString doubleValue];
NSLog(@"%f", value);
NSNumber *number = [NSNumber numberWithDouble:value];
NSLog(@"%@", number);如果没有,可以显示NSLog()的结果吗?
我知道在实践中它看起来是相同的代码,但是人们可能不太确定-objectAtIndex:总是返回一个字符串。这也可能是一个本地化问题(小数点分隔符的逗号和点可能会混淆,这肯定会使您的结果一团糟。如果出现本地化问题,请检查以下链接:
https://stackoverflow.com/questions/3168748
复制相似问题