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

咳咳,先来首不怎么押韵的打油诗: 天花板高地板低 四舍五入不看一 遇到负的N点五 统统变成负的N 啥玩意儿!别急,请往下看~ js的Math对象提供了三种舍入的方法,分别是: Math.ceil()——天花板:向上舍入、向大舍入 Math.round()——四舍五入 Math.floor()——地板:向下舍入、向小舍入 其中Math.ceil()和Math.floor()两种舍入方法最好理解,看一组测试: // Math.ceil()向上舍入 Math.ceil(-1.4) // -1 Math.ceil(-1.5) // -1 Math.ceil(-1.6) // -1 Math.ceil(1.4) // 2 Math.ceil(1.5) // 2 Math.ceil(1.6) // 2 // Math.floor()向下舍入 Math.floor(-1.4) // -2 Math.floor(-1.5) // -2 Math.floor(-1.6) // -2 Math.floor(1.4) // 1 Math.floor(1.5) // 1 Math.floor(1.6) // 1 记忆:对于任意数,无论正负,Math.ceil()都是得到数值更大的数,Math.floor()都是得到数值更小的数。也就是打油诗的第一句: 天花板高地板低 但是,Math.round()在特定情况下比较特殊,需要单独记忆,先看常规情况的测试: // Math.round()四舍五入 Math.round(-1.4) // -1 Math.round(-1.6) // -2 Math.round(1.4) // 1 Math.round(1.5) // 2 Math.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(这句的韵脚实在是押不住啊~)

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):