有两个64位整数,需要进行大小比较以及类型转换(string互转int64)。但是js里面把该整数的低位给截了,有什么好的方法来解决?

解决方案 »

  1.   

    不明白什么意思  直接比较不可以吗?parseInt(num,10)不可以吗??没有试过
      

  2.   

    <script type="text/javascript">
    function Num64(a){
    this.num=[];
    for(var i=0;i<a.length;i++){
    this.num.push(a[i]);
    }
    }
    Num64.prototype.compare=function(x){
    var a=this.num.length;
    var b=x.num.length;
    if(a>b){
    return 1;
    }else if(a<b){
    return -1;
    }else{
    for(var j=0;j<a;j++){
    if(this.num[j]>x.num[j]){
    return 1;
    }else if(this.num[j]<x.num[j]){
    return -1;
    }
    }
    }
    return 0;
    }
    var a=new Num64("122");
    var b=new Num64("123");
    alert(a.compare(b));
    </script>
    这样试试
      

  3.   

    发完帖后,自己也写了一个和zzgzzg00类似的函数,功能实现了,也就算啦。
    另外,d945332077说的那个方法不行,对十进制的表示,它的作用和parseInt(a)的作用一样的~但还是谢谢啦~
    欢迎各位知道更简单处理方法的同志回帖指引啊~
    先散分了~