我正在尝试编写一个程序,用于将数字从任何数字系统转换为任何数字系统(二进制/十进制/八进制/十六进制)。除了将十六进制数转换为二进制/十进制/八进制数之外,整个程序都有效。这是我的代码:
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();
我做错了什么?
答案 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