版本号“1.1”和“1.01”有区别吗

222次阅读
没有评论

共计 713 个字符,预计需要花费 2 分钟才能阅读完成。

这是从最近一个项目上关于版本号解析引发出来的一个小插曲,我觉得挺有意思的,所有就记录了下来。

背景

出于写代码从严谨考虑,在给后端传版本号的时候多问了一句。“1.1”版本是写成“1.1”还是“1.01”呢?然后就有了这篇文章了。

可以先看一下,从标题写的这两个版本号,想必大家也能看出来一些区别。但是,区别有哪些呢?“1.01”比“1.1”多了个 0,是吧?没错,就是多了这个 0,就是因为这个 0。可能你会想,这个多了个 0 怎么了?

好,我们慢慢来分析,我先说一下我的想法,看看我对版本号是怎么处理的,而且我觉得大多数人应该和我是一样的想法的。一般情况下,为了对比方便,我通常会通过小数点(“.”)来拆分,把小数点前面的分为一段,小数点后面的分为一段。分别是主版本(major),次版本(minor)。这个应该没什么问题,大家都一样。那么,对于 ”1.1″,主版本是 ”1″, 次版本是 ”1″,而对于 ”1.01″, 主版本是 ”1″,次版本是 ”01″,请注意,我这里都加了双引号(””),他们都是字符串。这样就拆分成了两个字段串,最后,int major = atoi(“1”); int minor = atoi(“1”); 或 int minor = atoi(“01”); 然后 major 等于 1,minor 也等于 1,所以,”1.1″ 和 ”1.01″ 其实也没什么不一样是吧。

然后,重点来了,后端的兄弟说写成 ”1.01″,因为 0.1 和 0.01 是不一样的,可能是先入为主的原因吧,我一开没明白他说的点,直到,他跟我说 0.1 元和 0.01 元怎么能一样呢?哦,这下我明白了。哥们是真把他当小数处理的呀。

结论

当你听到一个你觉得很不理解的东西时,先别急着判断对错。先理解对方说的是什么。

 

正文完
 0
lircs
版权声明:本站原创文章,由 lircs 于2025-11-21发表,共计713字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码