如何将double
值转换为int
,执行以下操作:
Double If x = 4.97542. Convert to int x = 4.
Double If x = 4.23544. Convert to int x = 4.
也就是说,答案总是四处整合。
答案 0 :(得分:91)
如果您明确强制转换 double
到int
,则小数部分将被截断。例如:
int x = (int) 4.97542; //gives 4 only
int x = (int) 4.23544; //gives 4 only
此外,如果您希望获得Math.floor()
值,也可以使用double
方法对值进行舍入。
答案 1 :(得分:26)
如果double是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;
答案 2 :(得分:5)
double myDouble = 420.5;
//Type cast double to int
int i = (int)myDouble;
System.out.println(i);
double值为420.5,应用程序打印出整数值420
答案 3 :(得分:3)
使用Double
或double
的另一个选项是使用Double.valueOf(double d).intValue();
。简单干净
答案 4 :(得分:0)
我认为我有更好的输出,特别是对于双数据类型排序。
虽然这个问题已被标记为已回答,但这可能对其他人有所帮助;
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);
}
});