【发布时间】:2013-03-11 20:05:50
【问题描述】:
我正在将项目的 NSString 转换为 int,以便比较时间戳。这是我转换它时从我的 NSLog 得到的响应。
Server Time Stamp = 1363032033711 AND Server Time Stamp CONVERTED: 2147483647
我正在使用此代码进行转换:
NSString *msg = [NSString stringWithFormat:@"%@", message];
NSArray *subString = [msg componentsSeparatedByString:@" "];
NSString *timeStamp = [subString lastObject];
int serverTimeStamp = [timeStamp intValue];
NSLog(@"Server Time Stamp = %@ AND Server Time Stamp CONVERTED: %d", timeStamp, serverTimeStamp);
我不确定为什么转换后的数字如此奇怪,是我的代码有问题,还是将字符串转换为整数?
【问题讨论】:
-
NSString *msg = [NSString stringWithFormat:@"%@", message];- 天哪,为什么? -
@H2CO3 这与问题完全无关。
-
@MikeD 但是,降低可读性(如果每秒调用无数次,性能也会降低)是多余的。应该指出这是一种应避免的不良做法。
-
@MikeD 虽然这可能不是问题的原因,但 stringWithFormat: 的使用非常愚蠢。马克,至于你的问题,谷歌NSIntegerMax。