快速提问,将原始数据类型double转换为原始数据类型int的最佳方法是什么。目前我正在使用以下代码,但似乎有很多方法可以完成一项简单的任务。
double i = 2.0;
int i2 = Integer.parseInt(Double.toString(i));
答案 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