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 相关文章推荐
简单的无缝滚动程序-仅几行代码
May 08 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
验证javascript中Object和Function的关系的三段简单代码
Jun 27 Javascript
js中的replace方法使用介绍
Oct 28 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
Aug 18 Javascript
canvas滤镜效果实现代码
Feb 06 Javascript
简单实现js轮播图效果
Jul 14 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
JsChart组件使用详解
Mar 04 Javascript
在vue项目中,使用axios跨域处理
Mar 07 Javascript
关于layui时间回显问题的解决方法
Sep 24 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 基本语法格式
2009/12/15 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
一个C/C++编程面试题
2013/11/10 面试题
Python里面如何拷贝一个对象
2014/02/17 面试题
教师自我反思材料
2014/02/14 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
服务之星事迹材料
2014/05/03 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
暑期学习心得体会
2014/09/02 职场文书
医德医魂心得体会
2014/09/11 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers