我有一个场景,我正在获取应用程序版本并将该值转换为double。 我的JSON的价值是这种格式' 1.0.0'因此,当我将其转换为双倍时,只显示' 1'而不是1.0.0'。 这是我的代码:
double appVersion = [[[[NSBundle mainBundle] infoDictionary]
objectForKey:@"CFBundleVersion"] doubleValue];
NSLog(@"%f",appVersion);
如何获得1.0.0'在我的双倍价值。 感谢
答案 0 :(得分:4)
应用版本的格式为major.minor.patchlevel
,不是浮点数。相反,你必须阅读完整的字符串并拆分组件,如:
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary]
objectForKey:@"CFBundleVersion"];
NSArray *components = [appVersion componentsSeparatedByString:@"."];
NSAssert([components count] == 3, @"Something bad happened");
unsigned major = [components[0] unsignedValue];
unsigned minor = [components[1] unsignedValue];
unsigned patchlevel = [components[2] unsignedValue];