对于非常大的数字,是否可以使用BigInteger.valueOf()?

3
在Java中,将50位数字字符串转换为BigInteger的最佳方法是什么?它没有valueOf(String)方法,而且我不能转换为Long因为它太小。
4个回答

14

它确实有一个BigInteger(String)构造函数 :-)

String S = "12345678901234567890123456789012345678901234567890";
BigInteger bi = new BigInteger(S);

2

您好,关于...

BigInteger bi = new BigInteger(my50DigitString);

所有的 Xxx.valueOf() 方法都是替代构造函数的方法,因为它们允许返回共享的、缓存的副本。 构造函数按定义每次都返回一个新实例。 所以 valueOf() 是一个很好的优化方式,但设计人员显然并没有觉得提供一个 BigInteger.valueOf(String) 方法很有趣。 在这种情况下,你将不得不使用其中一个构造函数。


1

你试过了吗?

BigInteger i = new BigInteger(s);

1

BigInteger有一个接受String的构造函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接