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+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
Mar 10 Javascript
关于js datetime的那点事
Nov 15 Javascript
jQuery中获取Radio元素值的方法
Jul 02 Javascript
判断文档离浏览器顶部的距离的方法
Jan 08 Javascript
Angularjs基础知识及示例汇总
Jan 22 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
Jan 31 Javascript
JS实现json对象数组按对象属性排序操作示例
May 18 Javascript
你可能不知道的CORS跨域资源共享
Mar 13 Javascript
Node爬取大批量文件的方法示例
Jun 28 Javascript
vue通过数据过滤实现表格合并
Nov 30 Javascript
JS 数组和对象的深拷贝操作示例
Jun 06 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
Jul 22 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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
PHP的Yii框架的基本使用示例
2015/08/21 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
python实现web方式logview的方法
2015/08/10 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
Scrapy框架使用的基本知识
2018/10/21 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
关于windows下Tensorflow和pytorch安装教程
2020/02/04 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
仓库管理制度
2014/01/21 职场文书
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
森林病虫害防治方案
2014/06/02 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
开学第一天的感想
2015/08/10 职场文书
幼儿园老师新年寄语
2015/08/17 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB