如果我尝试应用:Integer.valueOf(String.valueOf(Integer.MAX_VALUE) + "9");
我得到一个 NumberFormatException
。
但我需要从 String
表示中获取余数模 Integer.MAX_VALUE
。
我怎样才能做到这一点?
UPD:Integer.valueOf(String.valueOf(Integer.MAX_VALUE) + "9");
只是一个例子。该字符串的值可能甚至超过 Long 的最大值。
最佳答案
您正在寻找BigInteger
.这允许使用非常大的数字进行数学运算。
以下将允许您对非常大的数字进行取模:
BigInteger number = new BigInteger(myValueAsString);
BigInteger intMax = BigInteger.valueOf(Integer.MAX_VALUE);
BigInteger remainder = number.remainder(intMax);
关于java - 如何获得对 INT_MAX 求模的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28873848/