可能这是一个愚蠢的问题。我想摆脱 Double
号码的小数部分。但我不能这样做。它显示了不兼容类型的错误。怎么办?
Double to int
转换为一行....请帮助谢谢
答案 0 :(得分:177)
如果你真的应该使用Double而不是double,你甚至可以通过调用来获得int的值:
Double d = new Double(1.23);
int i = d.intValue();
其他已经由Peter Lawreys回答。
答案 1 :(得分:26)
所有其他答案都是正确的,但请记住,如果你将double转换为int,你将丢失十进制值..所以2.9 double变为2 int。
您可以使用Math.round(double)
功能,或只是执行:
(int)(yourDoubleValue + 0.5d)
答案 2 :(得分:21)
double myDb = 12.3;
int myInt = (int) myDb;
结果是:myInt = 12
答案 3 :(得分:10)
尝试转换值
double d = 1.2345;
long l = (long) d;
答案 4 :(得分:2)
int average_in_int = ( (Double) Math.ceil( sum/count ) ).intValue();