转换十六进制数时的NumberFormatException

时间:2016-05-03 19:59:14

标签: java swing numberformatexception

我正在尝试编写一个程序,用于将数字从任何数字系统转换为任何数字系统(二进制/十进制/八进制/十六进制)。除了将十六进制数转换为二进制/十进制/八进制数之外,整个程序都有效。这是我的代码:

var fields = {
  follow: 0,
  host: 0,
  raid: 0,
  substreak: 0,
  tip: 0,
  subscription: 0
};

_(data)
  .values()
  .map(x => _.assign({}, fields, x))
  .map(_.toPairs)
  .flatten()
  .groupBy(0)
  .mapValues(x => _.map(x, 1))
  .value();

我做错了什么?

1 个答案:

答案 0 :(得分:2)

由于hex1是十六进制的,所以

int dec1 = Integer.parseInt(hex1);

应该是

int dec1 = Integer.parseInt(hex1, 16);

String hex1 = Integer.toHexString (number);
int dec1 = number; // <-- not clear why you need to parse the hex