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 相关文章推荐
jquery 图片截取工具jquery.imagecropper.js
Apr 09 Javascript
JavaScript极简入门教程(一):基础篇
Oct 25 Javascript
Js apply方法详解
Feb 16 Javascript
Node.js常用工具之util模块
Mar 09 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
Jun 13 Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
May 16 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 Javascript
layui导出所有数据的例子
Sep 10 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
Sep 23 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
Jul 26 Javascript
vuex的使用步骤
Jan 06 Vue.js
封装好的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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
javascript学习网址备忘
2007/05/29 Javascript
javascript定时保存表单数据的代码
2011/03/17 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
模拟select的代码
2011/10/19 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
python开发中module模块用法实例分析
2015/11/12 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
python中map()函数的使用方法示例
2017/09/29 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
css3的transition属性详解
2014/12/15 HTML / CSS
通息工程毕业生自荐信
2013/10/16 职场文书
《孙权劝学》教学反思
2014/04/23 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
理想国读书笔记
2015/06/25 职场文书
mysql脏页是什么
2021/07/26 MySQL
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android