2014-02-10 26 views

回答

5

在那里发生整数溢出。既然你不是说那些是双打的。

尝试

double test = (21757952.0 * 100)/63290718; 
System.out.println(test); 

制作值(或所有值)double或表明双)确保操作应与双打完成。

+0

@downvoter,为此投下的宝贵意见?这样我才能今天学到新东西。 –

2
double test = (21757952*100)/63290718; 

21757952,100,63290718中的值应该用作double。目前它们的值为int

您可以尝试如下。

double test = (21757952.0*100.0)/63290718.0; 
    System.out.println(test); 
1

这将解决你的问题

double test = (double)21757952*100/63290718; 
+0

虽然答案正确,但避免在任何地方投射,并添加指示数据类型的文字。这更可读。 –

+0

谢谢,我会照顾它。 –

相关问题