我在除法中遇到问题,即当我在没有类型转换的情况下除以 9000000000/9 时,我得到 10^9 但当我将其转换为 float 时,它给出 9.9999994E8
long n = 10;
long sum = 9000000000;
float mean = ((float)sum)/(n-1);
请问有人可以帮我吗?我没有得到我所缺乏的地方,而且我进行研究的时间有限,这就是为什么我来这里是为了获得快速回复。
最佳答案
9000000000被视为in并且太大了,你要做9000000000L。尝试 BigDecimal:
long n = 10;
BigDecimal sum = new BigDecimal("9000000000");
BigDecimal mean = sum.divide(BigDecimal.valueOf(n-1));
关于java - 如何修复除法以获得正确的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56905496/