gpt4 book ai didi

javascript - 如何在 JavaScript 中使用循环将十六进制转换为十进制

转载 作者:搜寻专家 更新时间:2023-10-30 21:17:53 25 4
gpt4 key购买 nike

是否可以通过循环将十六进制数转换为十进制数?

示例:输入“FE”输出“254”

我看了那些问题:

How to convert decimal to hex in JavaScript?

Writing a function to convert hex to decimal Writing a function to convert hex to decimal

Writing a function to convert hex to decimal

How to convert hex to decimal in R

How to convert hex to decimal in c#.net?

还有一些与 JS 或循环无关的。我也在寻找其他语言的解决方案,以防万一我找到了解决方法,但我没有。第一个是最有用的。也许我可以除以 16,将结果与预设值进行比较并打印结果,但我想尝试循环。我该怎么做?

最佳答案

也许您正在寻找这样的东西,并且知道它可以用一个 oneliner(使用 parseInt)来完成?

function hexToDec(hex) {
var result = 0, digitValue;
hex = hex.toLowerCase();
for (var i = 0; i < hex.length; i++) {
digitValue = '0123456789abcdef'.indexOf(hex[i]);
result = result * 16 + digitValue;
}
return result;
}

console.log(hexToDec('FE'));

备选

也许您想尝试使用 reduce 和 ES6 arrow functions :

function hexToDec(hex) {
return hex.toLowerCase().split('').reduce( (result, ch) =>
result * 16 + '0123456789abcdefgh'.indexOf(ch), 0);
}

console.log(hexToDec('FE'));

关于javascript - 如何在 JavaScript 中使用循环将十六进制转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40495841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com