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中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
JavaScript控制Session操作方法
Jan 17 Javascript
jquery 关于event.target使用的几点说明介绍
Apr 26 Javascript
javascript框架设计读书笔记之模块加载系统
Dec 02 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
Javascript刷新窗口方法小结
Oct 21 Javascript
Node.js制作简单聊天室
Jan 12 Javascript
jQuery实现选中行变色效果(实例讲解)
Jul 06 jQuery
bootstrap3-dialog-master模态框使用详解
Aug 22 Javascript
Electron-vue脚手架改造vue项目的方法
Oct 22 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
Apr 02 Javascript
对vue生命周期的深入理解
Dec 03 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
模板引擎正则表达式调试小技巧
2011/07/20 PHP
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
开启PHP的伪静态模式
2015/12/31 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
代码详解django中数据库设置
2019/01/28 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
11月升旗仪式讲话稿
2014/02/15 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
云台山导游词
2015/02/03 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
销售人员管理制度
2015/08/06 职场文书
小学班级管理心得体会
2016/01/07 职场文书
检讨书怎么写?
2019/06/21 职场文书