js取整
综述
js中经常会遇到取整问题,所以做了下总结。总的来说分为两个方面,直接取整(不考虑小数点后的部分)还是计算后取整(例如四舍五入,向上取整等)。
一、直接取整
1.parseInt(number)
这大概是取整最常用的方法了,因为parseInt()不是只能处理Number类型,还可以处理字符串类型的。
parseInt()处理在处理字符串时,会从第一个不是空格的字符开始处理。如果第一个不是数字字符或者负号,则返回NaN;如果是数字字符,则会一直处理到不是数字字符为止。
注意,parseInt()可以识别各种整数格式(十进制,八进制和十六进制)。
var
	num1 = parseInt("2015nov"),  //2015
	num2 = parseInt(""),  //NaN
	num3 = parseInt("0xA"),  //10(十六进制)
	num4 = parseInt(20.15),  //20
	num5 = parseInt(-20.15),  //-20
	num6 = parseInt("070");  //56(八进制数)
2.~~number
所有取整之中最快的,位运算,一如既往的快。
var num1 = ~~20.15,  //20
	num2 = ~~(-20.15);  //-20
3.number^0
var num1 = 20.15^0,  //20
	num2 = (-20.15)^0;  //-20
4.number<<0
var num1 = 20.15 << 0,  //20
	num2 = (-20.15) << 0,  //-20
二、计算取整
1.四舍五入Math.round(number)
Math.round()是Math对象中的一个函数,将数值四舍五入为最接近的整数。现实中很少有用到负数的四舍五入的,但是我们也可以看几个负数的例子。
var num1 = Math.round(20.1),  //20
	num2 = Math.round(20.5),  //21
	num3 = Math.round(20.9),  //21
	num4 = Math.round(-20.1),  //-20
	num5 = Math.round(-20.5),  //-20 注意这里是-20而不是-21
	num6 = Math.round(-20.9);  //-21
2.向上取整Math.ceil(number)
Math.ceil()取向上最接近的整数。
var num1 = Math.ceil(20.1),  //21
	num2 = Math.ceil(20.5),  //21
	num3 = Math.ceil(20.9),  //21
	num4 = Math.ceil(-20.1),  //-20
	num5 = Math.ceil(-20.5),  //-20
	num6 = Math.ceil(-20.9);  //-20
3.向下取整Math.floor(number)
Math.floor()取向下最接近的整数。
var num1 = Math.floor(20.1),  //20
    num2 = Math.floor(20.5),  //20
    num3 = Math.floor(20.9),  //20
    num4 = Math.floor(-20.1),  //-21
    num5 = Math.floor(-20.5),  //-21
    num6 = Math.floor(-20.9);  //-21
												
											js取整的更多相关文章
- js 取整
		
1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2 ...
 - js取整、四舍五入等数学函数
		
js只保留整数,向上取整,四舍五入,向下取整等函数1.丢弃小数部分,保留整数部分parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math. ...
 - js 取整 取余
		
1.取整//保留整数部分parseInt(3/2) // 1 2.向上取整// 向上取整,有小数就整数部分加1Math.ceil(3/2) // 2 3.四舍五入// 四舍五入Math.round(3 ...
 - js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0
		
1.向下取整 var num1 = 12.10345; var num2 =12.9801; var newnum1=Math.floor(num1) //结果 12 var newnum2= ...
 - JS取整,四舍五入,取绝对值等Math对象常用方法
		
function f1(type,num1) { switch(type) { case 'floor': return Math.floor(num1);//取整或下舍入 break; case ' ...
 - JS 取整、取余
		
一.取整 1. 取整 // 丢弃小数部分,保留整数部分 parseInt(7/2) // 3 2. 向上取整 // 向上取整,有小数就整数部分加1 Math.ceil(7/2) // 4 3. 向下取 ...
 - JS取整方法
		
1.toFixed方法 定义:toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 例如:将数据Num保留2位小数,则表示为:toFixed(Num):但是其四舍五入的规则与数学 ...
 - js取整并保留两位小数的方法
		
js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数.注意 toFixed()方法只针对数字类型,如果是字符类型需要使用Number()等方法先转换数字类型再使用 document. ...
 - js取整 - 优雅版(装逼必备)
		
var a = 2.98; var z1 = ~~a; var z2 = a | 0; var z3 = a>>0; console.log(z1, z2, z3); // 2, ...
 
随机推荐
- Ubuntu Server忘记密码后,单用户模式修改密码进去不了桌面的无奈
			
俗话说的好,好记性不如烂笔头.有时候脑子一热,就想不起来之前设置过的密码是什么了.我可怜地忘了我的Ubuntu Server的密码,回忆了n种组合都不行,于是只能进行单用户模式的修改密码了. 以下的操 ...
 - BOM 浏览器对象模型学习
			
window对象属性 innerWidth/innerHeight 浏览器窗口的内部宽度与高度 outerWidth/outerHeight 浏览器的外部宽度与高度 length window.fra ...
 - 用python 10min手写一个简易的实时内存监控系统
			
简易的内存监控系统 本文需要有一定的python和前端基础,如果没基础的,请关注我后续的基础教程系列博客 文章github源地址,还可以看到具体的代码,喜欢请在原链接右上角加个star 腾讯视频链接 ...
 - android 布局常用混淆属性
			
1.如何控制某一控件在父控件中的相对位置呢? 在Android系统中提供了layout_margin,用来控制某一控件边缘相对于父控件的边距. 其中, android:layout_marginTop ...
 - 一个简单的模板引(han)擎(shu)
			
自制一个简单的模板引(han)擎(shu) 原理 说大了 实际上是模板函数 原理呢就是简单的字符串替换 第一版 var data = { username: 'Muhha' } str = '< ...
 - PADS Layout怎样放置间距一样的同一种元件
			
少数元件的话,栅格设置是最好的,即将栅格设置成你要放置元件的间距,然后逐个移动元件放置.如果元件几十上百个,这样做就累死人了,此时就得设置阵列.按顺序选择你要放置的元件-右键-create arry, ...
 - mongoose查询特定时间段文档的方法
			
db.collection.find({ time:{ "$gte": new Date('2014-01-24'), "$lte":new Date('201 ...
 - tocken和ticket的数据模型;
			
/* jshint -W079 */ /* jshint -W020 */ "use strict"; var _ = require("lodash"); m ...
 - uva 10026 Shoemaker's Problem(排序)
			
题目连接:10026 Shoemaker's Problem 题目大意:有一个鞋匠接了n双要修的鞋子, 修每双鞋需要d天,每推迟一天修将亏损val元,问按什么样的顺序修鞋可以保证损失最少,如果有多种情 ...
 - HTML5新特性之CSS+HTML5实例
			
1.新的DOCTYPE和字符集 HTML5的一项准则就是化繁为简,Web页面的DOCTYPE被极大的简化. <!DOCTYPE html> 同时字符集声明也被简化了: <meta c ...