我正在获取应用程序的版本,如下所示:

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]


然后尝试将其转换为如下所示的浮点数:

[version floatValue]


现在一切正常,但是当我有一个较小的版本,例如“ 1.1.1”时,第二个小数点后面的所有内容都会被截断。

将所有内容保留在第二个小数点后的最佳方法是什么?

最佳答案

为了使其与您的开始方式保持同步...

int major, minor, bug;
NSArray *versionItems = [version componentsSeparatedByString:@"."];
major = [[versionItems objectAtIndex:0] intValue];
minor = [[versionItems objectAtIndex:1] intValue];
bug = [[versionItems objectAtIndex:2] intValue];


但我建议您看看这个。

How do I determine the OS version at runtime in OS X or iOS (without using Gestalt)?

关于ios - 应用程序颠覆 float ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14569053/

10-08 23:12