⑴ js中兩個數相除 如何判斷是整數還是小數
第一種方法,編寫兩個方法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;
}
}