有没有办法将 Java BigInteger
转换为 long
,并将其限制在 long
的范围内?我的意思是,如果它大于 Long.MAX_VALUE
或小于 Long.MIN_VALUE
,请使用这些边缘值,否则使用精确值。
最佳答案
我最终使用了这个自定义函数:
public static long clampToLong(BigInteger val) {
if (val.bitLength() <= 63) {
return val.longValue();
}
return val.signum() == 1 ? Long.MAX_VALUE : Long.MIN_VALUE;
}
关于java - 将 BigInteger 钳位为 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50505711/