2010-07-02 84 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