2015-05-18 120 views
0

我想将W输入到int数组中。我怎样才能做到这一点?对不起,这个糟糕的问题或英语。将double转换为int

public void setX (int Y , double W) 
{  
    array[Y] = W; 
} 
+0

你会失去小数部分。 –

回答

4

如果你感到快乐截断向0 - 并获得int.MIN_VALUEint.MAX_VALUE如果该值超出int范围的 - 你可以只投:

array[Y] = (int) W; 

如果你不是满意这些警告,你应该重新评估你的设计 - 想想你想要发生,例如如果W15.25。如果您需要保留所有原始信息,则应使用double[]而不是int[]

(你也应该重新审视你的参数名称,如果这些是你的真正名。阅读上的Java命名约定。)

+0

你可以尝试四舍五入数值'array [Y] =(int)Math.round(W);' –

+0

W将会像7.5或者有十进制的东西,而不是四舍五入。我该怎么办?请指教。很多谢谢 –

+0

@WillieHii:那么如果你的数组是整数,它怎么能不能被舍入?之后你想要数组元素的值是什么?它不能是7.5 ... –

-1

array[Y]应delcared是前你ASIGN和Y将小于这个数组的大小。

array[Y] = Integer.valueOf(W + ""); 

上面一行将有助于

+1

目前还不清楚你认为这是一个答案,但它没有解决问题。 –

+0

我很抱歉让人困惑。我编辑它。 感谢您的意见 – lethanh

+1

这仍然不会编译 - 你会期望它使用哪个'Integer.valueOf'重载? –