V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Freeego
V2EX  ›  程序员

有什么办法可以取到距离最近的整数?

  •  
  •   Freeego · Jun 5, 2019 · 2254 views
    This topic created in 2521 days ago, the information mentioned may be changed or developed.
    不是固定的向上或向下取整,而是距离最近的。比如 2.99 和 3.01 都取 3 的值。

    除了比较这个浮点数距离左右两个整数的差值以外,有没有什么免判断的方法?
    这个算法需要放在循环里,强迫症有点不能接受每次比较的做法。。
    ccyuling
        1
    ccyuling  
       Jun 5, 2019
    四舍五入?加 0.5 然后截取整数部分。
    jifengg
        2
    jifengg  
       Jun 5, 2019
    看你怎么定义“最近”,比如 1.5 最近的是 1 还是 2 ?是 1 有 1 的做法,是 2 有 2 的做法(四舍五入)。
    Freeego
        3
    Freeego  
    OP
       Jun 5, 2019
    @ccyuling 我傻了,就是这个,,
    roscoecheung1993
        4
    roscoecheung1993  
       Jun 5, 2019
    这个操作统称 round...很多语言都有内置的函数吧?
    ggicci
        5
    ggicci  
       Jun 5, 2019
    @jifengg 我也纳闷,0.5 咋办。。。黑人问号脸
    firefffffffffly
        6
    firefffffffffly  
       Jun 5, 2019
    Math.ceil
    Math.floor
    Math.round
    fy1993
        7
    fy1993  
       Jun 5, 2019
    6 楼正解 ceil 取比这个数大的最近的整数 floor 比这个数小的最近的整数 round 取离的最近的整数
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   979 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 23:02 · PVG 07:02 · LAX 16:02 · JFK 19:02
    ♥ Do have faith in what you're doing.