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 相关文章推荐
Javascript-Mozilla和IE中的一个函数直接量的问题
Jan 09 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
JavaScript中Math对象方法使用概述
Jan 02 Javascript
基于jquery实现省市联动特效
Dec 17 Javascript
JavaScript实现点击单元格改变背景色的方法
Feb 12 Javascript
浅析$.getJSON异步请求和同步请求
Jun 06 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
Jul 07 Javascript
js带闹铃功能的倒计时代码
Sep 29 Javascript
vue基于Element构建自定义树的示例代码
Sep 19 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
Dec 22 Javascript
解决vue 子组件修改父组件传来的props值报错问题
Nov 09 Javascript
JS数组方法push()、pop()用法实例分析
Jan 18 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下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
php微信开发之百度天气预报
2016/11/18 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
python将文本转换成图片输出的方法
2015/04/28 Python
python处理图片之PIL模块简单使用方法
2015/05/11 Python
Python pass详细介绍及实例代码
2016/11/24 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
vivo智能手机官方商城:vivo
2016/09/22 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
个人求职信范文分享
2014/01/06 职场文书
中专生自我鉴定范文
2014/02/02 职场文书
晨会主持词
2014/03/17 职场文书
小学数学教研活动总结
2014/07/01 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android