将double转换为Int,向下舍入

如何将一个double值转换为int执行以下操作:

 Double If x = 4.97542. Convert to int x = 4. Double If x = 4.23544. Convert to int x = 4. 

也就是说,答案总是四舍五入的。

如果明确地 doubleint ,则小数部分将被截断。 例如:

 int x = (int) 4.97542; //gives 4 only int x = (int) 4.23544; //gives 4 only 

而且,如果您希望返回double值,您也可以使用Math.floor()方法来舍入值。

如果double是大写字母D (一个装箱原始值)的Double

 Double d = 4.97542; int i = (int) d.doubleValue(); // or directly: int i2 = d.intValue(); 

如果double已经是原始的double ,那么你只需简单地转换它:

 double d = 4.97542; int i = (int) d; 
 double myDouble = 420.5; //Type cast double to int int i = (int)myDouble; System.out.println(i); 

double值是420.5,应用程序输出420的整数值

另一个使用Doubledouble选项是使用Double.valueOf(double d).intValue(); 。 简单而干净

我想我有更好的输出,特别是对于双数据typessorting。

虽然这个问题已经有了明确的答案,也许这会帮助别人;

 Arrays.sort(newTag, new Comparator<String[]>() { @Override public int compare(final String[] entry1, final String[] entry2) { final Integer time1 = (int)Integer.valueOf((int) Double.parseDouble(entry1[2])); final Integer time2 = (int)Integer.valueOf((int) Double.parseDouble(entry2[2])); return time1.compareTo(time2); } });