代码之家  ›  专栏  ›  技术社区  ›  Royal Wares

从月数获取会计季度

  •  1
  • Royal Wares  · 技术社区  · 6 年前

    我发现了很多用例语句的例子,但是对于我认为应该可以用数学实现的东西来说,这似乎设计得太过了。

    function getQuarter(m) { return round(m/4) }
    

    基于@neil answer,函数可以进一步缩短为:

    function getQuarter(m) { return Math.ceil(m/3) }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Neil    6 年前
    function getQuarter(m) { return Math.floor((m - 1)/3) + 1 }
    

    减去1,因为一月不是新年的1个月,而是第一个月。同样的,12不是一个新的季度,它是最后一个季度的最后一个月。

    除以3而不是4(3个月到一个季度),然后将其降至最低。然后加一,返回值是1到4之间的数字,表示您所在的季度。

    祝你好运!