本文介绍了在将十六进制字符串解析为int值时发生意外的NumberFormatException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想解析一个包含8位十六进制数字(4字节)的字符串,但我得到了一个NumberFormatException。这里有什么不对?
assertThat(Integer.parseInt(FFFF4C6A,16),(0xFFFF4C6A));
解决方案
您的号码表示的数字大于可分配给INT。尝试:
Long.parseLong(FFFF4C6A,16);
给4294921322。
,这是您碰到的第四种情况。
I want to parse an String containing 8 hex-digits (4bytes) but i got an NumberFormatException. What is wrong here?
assertThat(Integer.parseInt("FFFF4C6A",16),is(0xFFFF4C6A));
解决方案
Your number represents a number greater than that assignable to an int. Try:
Long.parseLong("FFFF4C6A", 16);
which gives 4294921322.
From the doc:
and it's the 4th case that you're hitting.
这篇关于在将十六进制字符串解析为int值时发生意外的NumberFormatException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!