• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Freeego
V2EX  ›  程序员

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

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

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