如何将double
值转换为int
执行以下操作:双转换为int,舍去
Double If x = 4.97542. Convert to int x = 4.
Double If x = 4.23544. Convert to int x = 4.
也就是说,答案总是舍去。
如何将double
值转换为int
执行以下操作:双转换为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
此外,您还可以使用Math.floor()
法圆的情况下,值要在返回double
值。
double myDouble = 420.5;
//Type cast double to int
int i = (int)myDouble;
System.out.println(i);
双值是420.5和应用打印出的420
整数值如果双为Double
资本d(装箱原始值):
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;
你能告诉我双人和双人有什么区别吗? – 2014-04-27 07:48:46
double是原始浮点值。 Double是一个Java对象。 – penguin 2015-11-03 21:23:53
我想我有更好的输出,特别是对于双数据类型排序。
尽管这个问题已经被标记回答,也许这将帮助别人;
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);
}
});
使用Double
或double
另一种选择或者是使用Double.valueOf(double d).intValue();
。简单干净的
谢谢,解决我的问题 – Vogatsu 2012-04-23 12:40:33
是什么意思为“宽松十进制值”?它是否与调用'Math.floor()'相同的数字? – 2015-12-27 00:17:52