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的Ajax时无响应数据的解决方法
May 25 Javascript
js设置function参数默认值(适合没有传参情况)
Feb 24 Javascript
JavaScript中判断整数的多种方法总结
Nov 08 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
jQuery Mobile框架中的表单组件基础使用教程
May 17 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
Dec 05 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
Jul 13 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
Mar 27 Javascript
js实现下拉框二级联动
Dec 04 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
Jun 21 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
Jul 18 Javascript
vue打开子组件弹窗都刷新功能的实现
Sep 21 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
截获网站title标签之家内容的例子
2006/10/09 PHP
FCKeditor添加自定义按钮
2008/03/27 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
Smarty模板语法详解
2019/07/20 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
一个简易的js图片轮播效果
2017/07/22 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
财务管理专业自荐书
2014/09/02 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
企业愿景口号
2015/12/25 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
如何用python反转图片,视频
2021/04/24 Python