-2
可以说我有一个变量tmp,它是一个双精度型,我想将tmp转换为一个int型,但仍然有一个名为tmp的变量。我将如何做到这一点? 谢谢将变量从Double转换为Int
可以说我有一个变量tmp,它是一个双精度型,我想将tmp转换为一个int型,但仍然有一个名为tmp的变量。我将如何做到这一点? 谢谢将变量从Double转换为Int
您不能具有相同的变量作为int
和double
。
你可以拥有这虽然:
double d = 0.1d;
int i = (int) d;
d = (double) i;
System.out.println(d);
基本上你先投你double
到integer
,丢失分数。之后,您再次将其转换为double
并将其分配给您的d
变量。您不必明确执行从int
到double
的投射,因为它是一种扩大的转换,但它更清楚地发生了什么。
最终的结果是,您的d
变量现在具有一个可以用整数精确解释的值,但另一方面,您也基本上已经丢弃了您的分数。但是,您的变量没有更改其类型。
你可以少冗长写这样的:
double d = (int) 0.1d;
[四舍五入双把它变成一个int(JAVA)]的可能重复(http://stackoverflow.com/questions/2654839/rounding -a-double-to-turn-into-an-int-java) – DreadHeadedDeveloper 2014-10-28 15:10:33
这是一个重复的问题,许多其他人在这个网站上,请谷歌您的问题或在发布问题前在这个网站上查找他们 – DreadHeadedDeveloper 2014-10-28 15:11:04
为什么你想仍然有变量称为tmp?您必须将此int值分配给另一个变量,因为'tmp'被声明为'double'而不是'int'。 – user2336315 2014-10-28 15:11:33