java - 想要将长(TBs中的巨大文件大小)除以某个数字(巨大的int)并安全地获得一个int

use*_*840 1 java int type-conversion division long-integer

我想将长(TBs中的巨大文件大小)除以某个数字(巨大的int)并安全地得到一个int.但是对于类型转换属性,int变长并且结果很长.我确定我的商是一个int,正在投入,或者请指导我找一个更好的解决方案.

Jon*_*eet 7

好吧,如果铸造没问题,那么就投!

long size = ...;
int divisor = ...;
int result = (int) (size / divisor);
Run Code Online (Sandbox Code Playgroud)

当然,你应该,如果你是确保结果将真正成为一个企业的范围内做到这一点int-你总是可以检查课程:

long size = ...;
int divisor = ...;
long fullResult = size / divisor;
if (fullResult < Integer.MIN_VALUE || fullResult > Integer.MAX_VALUE) {
    // Whatever, e.g. throw an exception
}
int result = (int) fullResult;
Run Code Online (Sandbox Code Playgroud)