我希望存储一个非常大的范围15477096172227810860近似值。这个数字存储在一个字符串中,当我将它转换为Long时,它给我NumberFormatException。我认为长期不具有那么长的价值。请给我一些解决方案。
谢谢
答案 0 :(得分:4)
Java BigInteger或BigDecimal可用于大数字。从String中声明它也很容易。
BigInteger num = new BigInteger("15477096172227810860");
请注意,它不是“基本数据类型”(原始),因此您必须调用方法来获取值或“修改”它。 (这是不可改变的)。正如其他答案所述,数字的长度受可用内存的限制。
答案 1 :(得分:2)
BigInteger
可以存储任意大的数字(通常可用的内存设置限制)。
答案 2 :(得分:0)
最佳部分(仅限?)是使用BigInteger
但是,这取决于你想用这个数字做什么