JavaScript Math.ceil 方法(对数值向上取整)


Posted in Javascript onJanuary 09, 2015

JavaScript Math.ceil 方法
Math.ceil 方法用于对数值向上取整,即得到大于或等于该数值的最小整数。语法如下:

Math.ceil(x)
参数说明:

参数 说明
x 必需。必须是一个数值。

提示:该方法与 Math.floor 方法正好相反。

Math.ceil 方法实例

<script language="JavaScript">
document.write( Math.ceil(0.35) + "<br />" );
document.write( Math.ceil(10) + "<br />" );
document.write( Math.ceil(-10) + "<br />" );
document.write( Math.ceil(-10.1) );
</script>

运行该例子,输出:

1
10
-10
-10

Math.ceil 方法的错误?
试着运行下面的例子:

<script language="JavaScript"> document.write( Math.ceil(2.1/0.7) ); </script> 该例子运行的结果并不是如我们期望的得到 3(2.1/0.7=3),而是 4,这显然与我们的常识相悖,难道是 Math.ceil 方法的错误?

真实的情况是,在进行 2.1/0.7 计算时,是按照浮点数来处理的。而计算机由于二进制的关系,不可能对浮点数做到完全精确(即通常会损失一点进度),所以导致 2.1/0.7 的计算结果并不是正好等于 3 ,而是超过 3 一点点(约:3.00000000000000044409)。所以该表达式应用了 Math.ceil() 之后,得到的结果是 4 。

关于 ceil 函数不准确的问题,在《PHP 浮点数计算比较及取整不准确的解决方法》一文中也曾提及,在 PHP 中可以方便的用 round() 函数进行处理。但 JavaScript 中的 Math.round() 过于粗暴,因此必须单独写一个函数来处理这类情况,即将 1 位小数点后的多余的数值都取掉,在使用 Math.ceil() 方法。

Javascript 相关文章推荐
Notify - 基于jquery的消息通知插件
Oct 18 Javascript
jquery及原生js获取select下拉框选中的值示例
Oct 25 Javascript
jquery复选框checkbox实现删除前判断
Apr 20 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
JavaScript数组对象赋值用法实例
Aug 04 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
分享一个插件实现水珠自动下落效果
Jun 01 Javascript
js编写选项卡效果
May 23 Javascript
详解ECMAScript typeof用法
Jul 25 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
Nov 05 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
vue实现简单加法计算器
Oct 22 Javascript
封装好的js判断操作系统与浏览器代码分享
Jan 09 #Javascript
JavaScript Math.floor方法(对数值向下取整)
Jan 09 #Javascript
使用javascript实现json数据以csv格式下载
Jan 09 #Javascript
js读取csv文件并使用json显示出来
Jan 09 #Javascript
微信JS接口汇总及使用详解
Jan 09 #Javascript
推荐一款jQuery插件模板
Jan 09 #Javascript
JavaScript中Cookie操作实例
Jan 09 #Javascript
You might like
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
将Python代码打包为jar软件的简单方法
2015/08/04 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
Python快速从注释生成文档的方法
2016/12/26 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
python os模块简单应用示例
2019/05/23 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
IBatis持久层技术
2016/07/18 面试题
探亲邀请信范文
2014/01/30 职场文书
食品安全标语
2014/06/07 职场文书
体育专业求职信
2014/07/16 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
公司放假通知范文
2015/04/14 职场文书
详解vue中v-for的key唯一性
2021/05/15 Vue.js
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技