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 相关文章推荐
js页面跳转常用的几种方式
Nov 25 Javascript
使用jquery.qrcode生成彩色二维码实例
Aug 08 Javascript
JS控制伪元素的方法汇总
Apr 06 Javascript
jquery过滤特殊字符',防sql注入的实现方法
Aug 17 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
Aug 29 Javascript
JS制作适用于手机和电脑的通知信息效果
Oct 28 Javascript
js禁止表单重复提交
Aug 29 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
Feb 10 Javascript
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
基于JavaScript实现表格隔行换色
May 08 Javascript
React Native项目框架搭建的一些心得体会
May 28 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 配置文件中open_basedir选项作用
2009/07/19 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
python 快速排序代码
2009/11/23 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
Python退火算法在高次方程的应用
2018/07/26 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
缓解脚、腿和背部疼痛:Z-CoiL鞋
2019/03/12 全球购物
行政助理岗位职责
2013/11/10 职场文书
人力资源求职信
2014/05/25 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
高一军训决心书
2015/02/05 职场文书
Python max函数中key的用法及原理解析
2021/06/26 Python
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL