// 丢弃小数部分,保留整数部分
parseInt(5/2)// 2
2.向上取整
// 向上取整,有小数就整数部分加1
Math.ceil(5/2)// 3
3.向下取整
// 向下取整,丢弃小数部分
Math.floor(5/2)// 2
4四舍五入
// 四舍五入
Math.round(5/2)// 3
1、向下取整 注:Math.floor()不进行四舍五入,直接舍去小数部分 2、向上取整 注:Math.ceil()只要有小数且小数不为0,取整都直接给个位+1,小数位都舍去 3、四舍五入 注:Math.round()() 小数第一位小于5舍去,大于等于5向前进一位 4、保留小数位数 注:toFixed(n) n为要保留的小数位数,toFixed()会做四舍五入处理 5、科学计数法 注:toPrecision(1) n为要保留的位数,toPrecision() 会做四舍五入处理 6、去掉小数部分多余的0第一种方法,编写两个方法getIntegerTimes(),isPositiveIntegerTimes()判断两个数(包含小数),先获取倍数,再判断倍数是否为正整数,好处就是两个方法都可以作为通用方法调用.实现功能多.//获取两个数的倍数,返回倍数
function getIntegerTimes(arg1,arg2){
if(arg1<arg2){
var flag=arg1
arg1=arg2
arg2=arg1
}
var t1=0,t2=0,r1,r2
try{t1=arg1.toString().split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
with(Math){
r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
return (r1/r2)*pow(10,t2-t1)
}
//判断是否为正整数,返回true或false
function isPositiveIntegerTimes(arg) {
var num = arg.toString()
if (!(/(^[1-9]\d*$)/.test(num))) {
return false
}else {
return true
}
}
第二种方法,就是单一方法isPositiveIntegerTimes(),判断两个数(包含小数)是否整除
//判断两个数的是否为整数倍,返回true或者false
function isPositiveIntegerTimes(arg1,arg2){
if(arg1<arg2){
var flag=arg1
arg1=arg2
arg2=arg1
}
var t1=0,t2=0,r1,r2
try{t1=arg1.toString().split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
with(Math){
r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
var times= (r1/r2)*pow(10,t2-t1)
if (!(/(^[1-9]\d*$)/.test(times.toString()))) {
return false
}else {
return true
}
}