将double转换为int

时间:2014-02-02 02:54:28

标签: java int double

快速提问,将原始数据类型double转换为原始数据类型int的最佳方法是什么。目前我正在使用以下代码,但似乎有很多方法可以完成一项简单的任务。

double i = 2.0;
int i2 = Integer.parseInt(Double.toString(i));

4 个答案:

答案 0 :(得分:6)

只需将double转换为(int)

double i = 2.0;
int i2 =  (int) i;

答案 1 :(得分:3)

您可以将double转换为int:

double i = 2.0
int i2 = (int) i;

或者,您可以将数字四舍五入到最接近的整数,然后将其转换为int,以防您想要舍入:

double i = 2.2
int i2 = (int) Math.round(i);

或者,您可以使用

double i = 2.0
int i2 = Integer.parseInt(String.valueOf(i));

关于最好,但第一个选项最适合最少的代码,如果你想获得最接近的整数,那么第二个会更好双

答案 2 :(得分:2)

您可以使用'type-casting'将任何对象从一种兼容类型转换为另一种。您使用以下语法:

double i = 2.0;
int i2 =  (int) i;

请注意我是如何将(int)放在变量i之前的?这基本上说'嘿,试着让我成为一个int,如果可以'。因为java可以很容易地将float转换为int,所以它会。

答案 3 :(得分:1)

您也可以使用Math.floor()

public class Example {
    public static void main(String args[]) { 
        double i = 2.9;

        System.out.println((int)(i));
        System.out.println((int)Math.floor(i));
        System.out.println((int)(-i));
        System.out.println((int)Math.floor(-i));        
    }
}

输出:

2
2
-2
-3