开发者

Issue Converting NSString to Int

For some reason 开发者_Python百科when I convert this NSString to an integer, I get a completely random (yet consistent) number.

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    // do something with the data
    // receivedData is declared as a method instance elsewhere
    NSLog(@"Succeeded! Received %d bytes of data",[receivedData length]);

    // release the connection, and the data object
    [connection release];

    debtString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];

    NSLog(@"String form: %@", debtString);
    [receivedData release];

    int debtInt = [debtString intValue];
    NSLog(@"Integer form: %i", debtInt);

}

and this is my console output:

2011-07-19 11:43:18.319 National Debt[50675:207] Succeeded! Received 14 bytes of data
2011-07-19 11:43:18.320 National Debt[50675:207] String form: 14342943000000
2011-07-19 11:43:18.320 National Debt[50675:207] Integer form: 2147483647

If I put a breakpoint on the NSLog(@"Integer form: %i", debtInt); line, and hover over the debtString value in the line above, there is an invalid summary. The only reason I can think of for that happening is that I am releasing the debtString before it is converted, however this is obviously not true.


The int value of your string is higher than the maximum value of an int. Therefor it displays the max value of int which is 2.147.483.647

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜