通知 网站从因情语写改为晴雨,这个网站的模板也从calmlog_ex改为 whimurmur

高级向下取整

3205人浏览 / 0人评论 / | 作者:因情语写  | 分类: 设计模式与算法  | 标签: 设计模式与算法  /  小知识

作者:因情语写

链接:https://www.qingyu.blue/article/467

声明:请尊重原作者的劳动,如需转载请注明出处


  最近看mongdb学习视频,看到一个知识,就是我们平常见到的向下(向上)取整,是以1为基数的取整,比如1.1向下取整是1,即Math.floor(1.1)=1,那么以其它数为基数的取整呢,比如5,如7向下取整为5,12.5向下取整为10,这个用代码也是很好实现的,即

Math.floor(number / 5.0) * 5

  这样就实现了以5为基数的向下取整,那么这个东西有什么用呢?这实现了将一定范围的数据集中到一个点上,比如一个收银机,每次收银都有一条记录,会记录收银时间,那如果我们想分析一下哪个时间段购物人数较多,可以怎么做呢?可以利用上面的代码:

  我们将一天的收银时间转换为分钟,统计每5分钟时间段内的收营次数,收营次数多的时间段就是购物高峰:处理每一条记录,用上面的代码,把number替换成一天中的分钟数,这样每5分钟内的数据都会落到一点上,比如0到5分钟的数据会落到0点上,5到10分钟的数据会落到5这点上,然后统计出落到0,5,10...这些点的记录的数量,即为每个5分钟时间段的购物次数,通过分析次数,即可以得出每一天的购物高峰。

  上面代码的作用即是将一段范围中的数据集中到一点上,从而可以统计这一段范围数据情况


亲爱的读者:有时间可以点赞评论一下

点赞(0) 打赏

全部评论

还没有评论!