背景
- 我们可能会遇到需要对比版本号的情况,于是就可能会这样写:
versionStringA compare: versionStringB
- 当versionStringA值为"10.0.1",versionStringB值为"8.0.1",结果是B>A,这不是我们想要的。因为compare采用 lexical ordering。
- 那么如何做才能有正确的结果呢?
分析
- 分析"版本值",我们有:major.minor.patch结构。
- string compare容易出问题,实际上如果将string转换成numerical,比较起来就更方便了。
- 于是问题就变成:如何将versionString正确转换成numerical值。