double不能转换为整数

时间:2014-04-26 18:26:46

标签: java int double

我有以下代码

public ItemData findItem(Object searchterm) {
    if (searchterm instanceof Number) {
        int type = (int)((double) searchterm);
        return GETXmlParse.itemMap2.get(type);
    }
    return GETXmlParse.itemMap.get(searchterm.toString().toUpperCase());
}

当代码执行时,它会抛出一个错误:int type =(int)((double)searchterm); ,说一个double不能转换为整数。

有没有办法将double转换为int?

2 个答案:

答案 0 :(得分:0)

public class abc {

   public static void main(String[] args) throws Exception {

        double a = 101.55;
        int i= (int)a;
        System.out.println(i);

    }   
}

试试这个。

答案 1 :(得分:0)

您只知道它是一个数字,因此您必须将其强制转换为数字

if (searchterm instanceof Number) {
    int type = ((Number) searchterm).intValue();