将double转换为Int,向下舍入
如何将一个double
值转换为int
执行以下操作:
Double If x = 4.97542. Convert to int x = 4. Double If x = 4.23544. Convert to int x = 4.
也就是说,答案总是四舍五入的。
如果明确地将 double
为int
,则小数部分将被截断。 例如:
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的整数值
另一个使用Double
或double
选项是使用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); } });