两个百分数是精确到0.00%的,但两个数都是变量,不是一个确定的死数字。
 String a1 = result1;
 String b1 = result2;请问如何比较啊

解决方案 »

  1.   

    1.把"1.23%","1.25%"类似的字符串变成int型.
    很简单,去掉"."和最后的"%" 就成了.2.比较2个处理后的int值.
      

  2.   

    import java.math.BigDecimal; 
    String a = result1;
    String b = result2; 
    String tempA = a.substring(0, a.indexOf("%"));
     String tempB = b.substring(0, b.indexOf("%"));
     //精确表示 
     BigDecimal dataA = new BigDecimal(tempA); 
    BigDecimal dataB = new BigDecimal(tempB); 
    System.out.println(dataA.compareTo(dataB));//大于为1,相同为0,小于为-1  } } 
      

  3.   

    截掉百分号,类型转换成float,然后就可以比较了
      

  4.   


    a1 = a1.replaceAll("%","");
    a2 = a2.replaceAll("%","");
    int i1 = (int)(Float.parseFloat(a1)*100);
    int i2 = (int)(Float.parseFloat(a2)*100);
    if (i1 > i2) {
    }
      

  5.   

    3楼写的代码 就报错了,String tempA = a.substring(0, a.indexOf("%")); 这句就有错了
      

  6.   

    String a1 = result1; 
    a1.subString(0, a1.length() - 1);
      

  7.   

            char[] a=result.toCharArray();
            int i=0;
            String res="";
            while(i<a1.length-1)
                res+=a[i++];
            int result1=0;
            try{
               result=Double.parseDouble(res);
            }catch(IOException e){}
    这样就转化成数字了,跟String的长度无关