BigInteger引发numberFormatException

角斗士9120

编辑:使用以下代码解决了该问题:

    String tokenId="0x1800000000001289000000000000000000000000000000000000000000000000";

    BigInteger token1;
    if (tokenId.startsWith("0x")){
        token1=new BigInteger(tokenId.substring(2),16);

我有一个长字符串,需要将其分配为BigInteger并将其传递给Web3j库的另一种方法。但是,我一直收到数字格式异常。有什么帮助吗?

下面是方法抛出异常:

public void getBalance1155(String walletAddress) throws ExecutionException, InterruptedException {

    //define constant values

    Web3j web3j=Web3j.build(new HttpService("https://mainnet.infura.io/v3/<apiKey>>"));
    String contractAddress = "0xfaaFDc07907ff5120a76b34b731b278c38d6043C";
    BigInteger tokenId=new BigInteger("0x1800000000001289000000000000000000000000000000000000000000000000",16);
    NoOpProcessor processor = new NoOpProcessor(web3j);
    Credentials credentials = Credentials.create("privatekey");
    TransactionManager txManager = new FastRawTransactionManager(web3j, credentials, processor);

    //Query Blockchain to get balance of WALLETADDRESS from Contract for given TokenID

    ERC1155 token = ERC1155.load(contractAddress, web3j, txManager, DefaultGasProvider.GAS_PRICE, DefaultGasProvider.GAS_LIMIT);
    RemoteCall<BigInteger> sendCall = token.balanceOf(walletAddress, tokenId);
    BigInteger balance=sendCall.sendAsync().get();
    log.info("balance >>>>>> " +balance);
}

这是例外:

java.lang.NumberFormatException:对于输入字符串:java.base / java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)处的java.base / java.lang.Long.parseLong(Long.java:692)为“ 0x1800000000001289000000000000000000000000000000000000000000000000000000” ),位于java.base / java.lang.Long.parseLong(Long.java:817)

安东尼·丹尼尔

由于您已经在使用web3j,因此可以Numeric.decodeQuantity("0x1800000000001289000000000000000000000000000000000000000000000000")将十六进制解码为BigInteger

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

BigInteger-java.lang.NumberFormatException错误?

来自分类Dev

分派器Servlet引发异常:NumberFormatException

来自分类Dev

Long.parseLong(“ + 2013”)引发NumberFormatException

来自分类Dev

twitter-api:用户令牌引发java.lang.NumberFormatException

来自分类Dev

将String解析为Int时引发NumberFormatException

来自分类Dev

我如何纠正此程序以防止它引发java.lang.NumberFormatException?

来自分类Dev

使用pyspark从S3读取数据将引发java.lang.NumberFormatException:对于输入字符串:“ 100M”

来自分类Dev

NumberFormatException方法

来自分类Dev

ParserXML NumberFormatException

来自分类Dev

inputString的NumberFormatException:“”

来自分类Dev

Grails NumberFormatException

来自分类Dev

获取 NumberFormatException

来自分类Dev

Long 的 NumberFormatException

来自分类Dev

BigInteger FormatException

来自分类Dev

实施BigInteger

来自分类Dev

实施BigInteger

来自分类Dev

VectorDrawable导致NumberFormatException

来自分类Dev

Long.parseLong的NumberFormatException

来自分类Dev

NumberFormatException的Java错误

来自分类Dev

NumberFormatException:无限还是NaN?

来自分类Dev

java转换导致的NumberFormatException

来自分类Dev

具有ParseInt的NumberFormatException

来自分类Dev

新的BigDecimal(“ 0”)NumberFormatException

来自分类Dev

NumberFormatException:无效的LNG

来自分类Dev

Android应用中的NumberFormatException

来自分类Dev

我的代码中的NumberFormatException

来自分类Dev

Android String NumberFormatException

来自分类Dev

新的BigDecimal(“ 0”)NumberFormatException

来自分类Dev

Android中奇怪的NumberFormatException