Math.round(6.079084800080882E-5)= 0.0?

Det*_*ium -1 java math

我试图绕过这个数字

6.079084800080882E-5
Run Code Online (Sandbox Code Playgroud)

但每当我运行应用程序时,结果就是这样

X = 0.0
Run Code Online (Sandbox Code Playgroud)

这是我的代码

tmp = 6.079084800080882E-5;
x = (double)Math.round(tmp);
Run Code Online (Sandbox Code Playgroud)

我不只是输入一个随机数(6.079084800080882E-5),但这是一个由一些计算产生的nuber.这些计算无关紧要,因为这是我想要的数字.

Era*_*ran 14

Math.round()返回一个long或一个int,所以如果你传递一个绝对值小于0.5的数字,你将得到0. 0非常圆.


use*_*738 5

这必须为0,因为6.079084800080882E-5 = 0.000060790084000.E-5表示10 ^( - 5).