一诗概括数的舍入之ceil、round、floor

作者 : 开心源码 本文共926个字,预计阅读时间需要3分钟 发布时间: 2022-05-13 共203人阅读

咳咳,先来首不怎样押韵的打油诗:

天花板高地板低
四舍五入不看一
遇到负的N点五
统统变成负的N

啥玩意儿!别急,请往下看~

js的Math对象提供了三种舍入的方法,分别是:

  1. Math.ceil()——天花板:向上舍入、向大舍入
  2. Math.round()——四舍五入
  3. Math.floor()——地板:向下舍入、向小舍入

其中Math.ceil()和Math.floor()两种舍入方法最好了解,看一组测试:

// Math.ceil()向上舍入Math.ceil(-1.4) // -1Math.ceil(-1.5) // -1Math.ceil(-1.6) // -1Math.ceil(1.4) // 2Math.ceil(1.5) // 2Math.ceil(1.6) // 2
// Math.floor()向下舍入Math.floor(-1.4) // -2Math.floor(-1.5) // -2Math.floor(-1.6) // -2Math.floor(1.4) // 1Math.floor(1.5) // 1Math.floor(1.6) // 1

记忆:对于任意数,无论正负,Math.ceil()都是得到数值更大的数,Math.floor()都是得到数值更小的数。也就是打油诗的第一句:

天花板高地板低

但是,Math.round()在特定情况下比较特殊,需要单独记忆,先看常规情况的测试:

// Math.round()四舍五入Math.round(-1.4) // -1Math.round(-1.6) // -2Math.round(1.4) // 1Math.round(1.5) // 2Math.round(1.6) // 2

记忆:以上情况(非-x.5,x为任意数)都可以了解为Math.round()眼里没有符号,无论正负,都先按正数对待,四舍五入之后再添上对应的符号。

但上面的记忆方法对于-x.5就不适用了,不信请看测试:

Math.round(-1.5) // -1

Math.round(-1.5)不等于-2,而是等于-1!

总结:
天花板高地板低(ceil得到数值更大的数、floor相反)
四舍五入不看一(“一”了解成负号“-”,存粹为了押韵)
遇到负的N点五
统统变成负的N(这句的韵脚实在是押不住啊~)

给个小心心呗

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 一诗概括数的舍入之ceil、round、floor

发表回复