我想将 long(以 TB 为单位的巨大文件大小)除以某个数字(巨大的 int)并安全地得到一个 int。但是对于类型转换属性,int 会变成 long,结果也会很长。我确定我的商将是一个 int,转换正常,或者请指导我找到更好的解决方案。
最佳答案
好吧,如果转换没问题,那就转换吧!
long size = ...;
int divisor = ...;
int result = (int) (size / divisor);
当然,如果您确定结果确实在 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;
关于java - 想要将 long(以 TB 为单位的巨大文件大小)除以某个数字(巨大的 int)并安全地获得一个 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18373637/