首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

版本号中 4.9 大于 4.15 的第一想法是如何运转出来的?

  •  
  •   leyle · 41 天前 · 2771 次点击
    这是一个创建于 41 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就像对抗标价 399 这样的错觉,我都是看到 39x 这样的自动升级成 400,然后一下子就看清楚了价格了。

    有什么好办法,能够快速的看出来 4.15 大于 4.9
    40 回复  |  直到 2019-08-11 12:51:49 +08:00
        1
    yzkos   41 天前
    4.9 再往上发版的时候变 5.0
        2
    iPhoneXI   41 天前 via Android
    因为语义化版本号不能补 0,所以经常和小数混淆
    三位还好办,两位只能看历史版本规律或者靠猜了
        3
    Kagari   41 天前   ♥ 1
    我现在才意识到数字上 4.15<4.9,上一个贴我看完标题的反应是“这不是很明显 4.15>4.9 吗”
    流程可能是这样的,两边都是 4,4 和 4 约掉,然后 15>9
        4
    luob   41 天前
    4.9.9.9.9,就是不发布 4.10
        5
    tabris17   41 天前
    4.09
    4.15
        6
    Trim21   41 天前 via Android
    @luob python 的 html5lib 版本号 0.9999999999999 …
        7
    MrCurly   41 天前   ♥ 1
    一开始我也没看懂, 后来听人念出来之后我就再也没糊涂过了,四点十五,四点九,很明显十五大哈哈
        8
    vocaloid   41 天前 via Android
    我很好奇为啥发的时候不发 4.09 ....
        9
    janus77   41 天前 via iPhone   ♥ 1
    因为 4.9 不是十进制数
    不是十进制数
    不是十进制数
    所以.9 不会再升一位
        10
    loveuqian   41 天前 via iPhone
    在苹果这边,你发了 4.9,之后是发不出 4.15 的
    我这边都是最好加个 4.09
        11
    mantout   41 天前
    @vocaloid #8 发 4.1 4.2 的时候并不能确定是否有 4.10+的版本,也就没有必要预留两位。万一版本数超过 99,达到了 4.100 ,是不是要预留 3 位,从最开始就发 4.001 呢
        12
    sanwen   41 天前 via Android
    ???,我是没看懂吗?按点分割,按分割后按结果比较不就行了?
        13
    Tumblr   41 天前
    拆解喽……比如 Version 5.1.18362.145:
    Major version: 5
    Minor version: 1
    Build: 18362
    Revision: 145
        14
    tulongtou   41 天前 via iPhone
    要不然就 4.90 要不 4.1.5,不然小数点后面有一位有两位的不好比较
        15
    fannas   41 天前 via Android
    所有 ci cd tool 里 x.9 之后都是 x.10
        16
    CEBBCAT   41 天前 via Android
    小数点是分隔符,我是这样理解的
        17
    mrcn   41 天前 via Android
    讨厌这种容易引起歧义的版本号,每次都要靠日期才能判断到底哪个是新的。
        18
    MarginK   41 天前
    @loveuqian 你确定苹果不行?你要不再试试?
        19
    iwtbauh   41 天前 via Android   ♥ 1
    “如何看出来”?如果大脑无法分辨出来,可以借助 shell

    GNU sort 有一个 -V 比较版本选项

    echo -e "4.15\n4.9" | sort -V
    4.9
    4.15

    如果不方便使用 GNU 扩展。还有就是把取出 . 分割的全部数字,然后补 0 到 3 位,再 sort -n

    比如 printf "%03d%03d" `grep -Eo '[0-9]+\.[0-9]' | tr '.' ' `'
        20
    Carseason   41 天前
    再阔展一下小数点。
    下次版本改成
    4.15.00
    然后慢慢的把旧版本统一称呼为 4.9.00
        21
    ShangAliyun   41 天前
    明显是数据库用了小数存储
        22
    ziseyinzi   41 天前 via Android   ♥ 2
    因为点.dot 这个东西在这里不是小数点
        23
    laozhoubuluo   41 天前 via Android
    4.9=4+90/100
    4.15=4+15/100

    所以 4.9 是大于 4.15 的。
    为了方便比较就不约分了。
        24
    laozhoubuluo   41 天前 via Android   ♥ 1
    这就是有的地方要出 4.9 之后,就不允许再出 4.1x 的原因了。
    判定的话就是记得在判断版本号的时候整数位划了,完了直接比后面。
    不过不建议非得用这种版本号。很容易混乱。
        25
    liuzhaowei55   41 天前 via iPhone
    我觉得这个问题不成立,至少题主说了是版本号的情况下我没觉得 4.9 比 4.15 大。
    当然我默认大家都了解语义化版本号: https://semver.org/lang/zh-CN/
        26
    iPhoneXI   41 天前 via Android
    @liuzhaowei55 了解不代表习惯,我认为它那个前面不能补 0 的规定就很扯淡,所以我自己项目小版本号从来不超过 9
        27
    acrisliu   41 天前 via Android
    semver
        28
    vincel   41 天前
    还是约束不够好 4.15.0 和 4.9.0 就很明显了
        29
    reus   41 天前
    4.15 是两个数字,一个是 4,一个是 15,分别比较,不是比较字符串
        30
    Huelse   41 天前
    4.15 并不是传统意义的浮点数,.点只是一个分隔符
        31
    Meltdown   41 天前 via Android
    内核 4.15 大于 4.9 版本啊
        32
    Meltdown   41 天前 via Android
    看错了,尴尬…
        33
    WispZhan   41 天前
    版本号是:major.minor.patch
    或者
    major.minor

    “ major ”, “ minor ”, “ patch ” 都是独立的 Int 类型。

    判断版本的时候,请用 "." 去做 split。 然后分别对每个部分进行 Parse Int。

    https://semver.org/
        34
    deorth   41 天前
    有的项目已经开始用日期代替版本号了
        35
    efaun   41 天前
    以日期作为版本号市最科学的
        36
    loveuqian   41 天前 via iPhone
    @MarginK
    确定啊,亲身经历过啊,除非是又有了修改
        37
    gamexg   41 天前
    @deorth #34
    @efaun

    同时维护多个大版本时还是需要这种版本号,例如 python 2、3 php5、7。
        38
    ik   40 天前 via iPhone
    慌了,我也要想半天才能想到哪个大哪个小。
        39
    msg7086   40 天前
    4,9 和 4,15 是不是就不会搞混了?
    这个点不是小数点,是分隔符。
        40
    hstdt   40 天前 via iPhone
    多用这种方式,熟悉了就好了呗
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1057 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 18:15 · PVG 02:15 · LAX 11:15 · JFK 14:15
    ♥ Do have faith in what you're doing.