麻烦问一下 就是现在我数据库里面有一个字段是金额  jine他里面的话 在以前录入数据的时候 有些数据保留了小数点后面2位是 但是有些又没有 比如
jine
1200.00   
1500
1750.12
就是现在我要把这个数据取出来在程序里面写一个if的判断
想这种1750.12这种就在对比的时候 肯定要输入后面2位的
我这里想问的是  怎么去比对1200.00 和 1500这2种
现在我输入1200 和  1500.00
的结果是数据库里面的和我输入的不对我就是想问  在写if判断的时候 怎么去对比这种  比如 1200.00 和 1200 是一样的  1500.00和 1500 是一样的
也就是说 当这个金额是整数的时候   不管你输入的对比金额是不是有小数点后面的.00 对比结果都是正确
谢谢了

解决方案 »

  1.   

    该字段是什么类型?难道用的是char或varchar?
      

  2.   

    那你select的时候自己转换为数值类型的就可以了
    select to_float(your_field) as xxx from your_table
      

  3.   

    这种全部把字符串转换成double类型再进行比较吧。
      

  4.   

    public class Test { public String get1(String str1){
    String[] str3 =  str1.split("\\.");
    if(str3.length==1){
    return str1;
    }
    if(str3[1]==null||str3[1].equals("")||str3[1].equals("00")||str3[1].equals("0")){
    return str3[0];
    }else{
    return str1;
    }
    }
    public static void main(String[] args) {
    System.out.println(new Test().get1("1500.23"));
    }
    }
      

  5.   

    我是想用if来做判断而不是在sql里面 
      

  6.   


    private String get(String s){
    if(s.indexOf('.') == -1){
    return s;
    }
    return s.substring(0, s.indexOf('.'));
    }
    把比较的和拿来比较的都过滤下。
      

  7.   

    for example
    String s1 = "1200";
    String s2 = "1200.00"
    if (s1.equals(s2) ||
        s1.equals(s2+".00") ||
        s2.equals(s1+".00")
       )