2 javascript hex loops decimal typescript
是否可以通过循环将十六进制数转换为十进制数?
示例:输入“ FE”输出“ 254”
我看着那些问题:
编写将十六进制转换为十进制 的函数编写将十六进制转换为十进制的函数
还有一些与JS或循环无关的信息。我也在寻找其他语言的解决方案,以防万一我找到了解决方法,但是没有。第一个是最有用的。也许我可以用16来表示,将结果与预设值比较并打印结果,但是我想尝试使用循环。我该怎么做?
知道您可以使用oneliner(使用parseInt)完成此操作,也许您正在寻找类似的内容?
function hexToDec(hex) {
var result = 0, digitValue;
hex = hex.toLowerCase();
for (var i = 0; i < hex.length; i++) {
digitValue = '0123456789abcdefgh'.indexOf(hex[i]);
result = result * 16 + digitValue;
}
return result;
}
console.log(hexToDec('FE'));Run Code Online (Sandbox Code Playgroud)
function hexToDec(hex) {
return hex.toLowerCase().split('').reduce( (result, ch) =>
result * 16 + '0123456789abcdefgh'.indexOf(ch), 0);
}
console.log(hexToDec('FE'));Run Code Online (Sandbox Code Playgroud)