实现判断是通过parseInt转换,然后跟number作比较的:
如:
parseInt(number)==number
如果是true,number就是整数,否则不是整数
测试:
var number=123.456
if(parseInt(number)==number)alert('是整数')
else alert('就是小数')
把所有分数放入一个数组中,就可以用数组排序的方法来排序
<script type="text/javascript">function sortNumber(a,b){
return a-b
}
var arr = new Array(3,5,8,31,66,2)
document.write(arr.sort(sortNumber))
</script>
需要注意的是sortNumber这个方法,因为sort()是按照首字母或数字来排序的,如果没有sortNumber结果为2,3,31,5,66,8 ,这个显然不是我们所要的,如果想按照其他标准进行排序,就需要提供比较函数,如果a小于b,返回一个小于0的值,a排在b的前面,就是小的排前,大的排后,如果两者相等,就返回一个0,如果a大于b,返回一个大于0的值,b排在a的前面,根据这个,我们创建一个sortNumber的函数来判断。
这个问题,我在另一个问题里答复过,简直一模一样。。。。
https://zhidao.baidu.com/question/1694280288809319988
function fraction(num){//输入数字,不能是无限小数var num=num.toString.split(".")//拆成整数部分和小数部分
if(!num[1])return num[0]//输入整数直接返回原值
var num1,num2//分子 分母
num[0]==0?num1=parseInt(num[1]):num1=parseInt(num[0]+""+num[1])
num2=parseInt(Math.pow(10,num[1].length)
if(num1%2==0 &&num2%2==0){//分子分母除2
( function dec2(){
num1=num1/2
num2=num2/2
if(num1%2==0 &&num2%2==0){//除完还能除就继续
dec2()
}
})()
if(num1%5==0 &&num2%5==0){//分母只能整除2或5的倍数
(function dec5(){
num1=num1/5
num2=num2/5
if(num1%5==0 &&num2%5==0){
dec5()
}
})()
return num1+"/"+num2
}
}