在Java中处理十进制后带有大量值的数字

y2p*_*y2p 4 java decimal

我做

 Collections.frequency(List<String>, List<String>.get(i)) / List<String>.size()
Run Code Online (Sandbox Code Playgroud)

上述计算的输出应为(例如)

0.00631
0.0002378
0.00571
Run Code Online (Sandbox Code Playgroud)

但我得到了0.0.我该如何处理?我不断收到0.0doublefloat

谢谢

aio*_*obe 7

如果值0.00631,0.00023780.00571预计从区划结果,请确保你没有做整数除法.也就是说,确保将分子或分母转换为float或double.

代替

double fraction = someInt / someOtherInt;
Run Code Online (Sandbox Code Playgroud)

你可以做

double fraction = (double) someInt / someOtherInt;
Run Code Online (Sandbox Code Playgroud)

在你的特殊情况下,你可以尝试类似的东西

(double) Collections.frequency(list, list.get(i)) / list.size();
Run Code Online (Sandbox Code Playgroud)