java - 如何获得对 INT_MAX 求模的结果?

标签 java string

如果我尝试应用: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/

相关文章:

java - 如何将 Struts 2 与 Velocity 和 Tiles 一起使用

java - 无法在recyclerview中使用exoplayer播放视频

sql - 如何在 PostgreSQL 字符串中的单引号后添加分号?

javascript - 从对象内部的字符串调用函数?

c++ - 从 void* 转换为字符串 libwebsocket

C++ Pig 拉丁代码,只删除文件信息

java - 在 tableLayout 中搜索文本字段

Java EE 对比。 Java 编程

java - 为什么我的两个简单 Java 线程没有得到交错访问?

c++ - 为什么 & 对字符串的行为不同?