我正在尝试使用 JavaScript 将 DEC 数字转换为 HEX。
我要转换的数字是 28。
我试过使用:
function h2d(h) {return parseInt(h,16);}
但是它返回 40
我也尝试过使用:
function d2h(d) {return d.toString(16);}
但是它返回 28
最终结果应该返回 1C,但我似乎无法计算出来。
有谁知道我哪里出错了?
最佳答案
听起来您遇到了麻烦,因为您在查找数字时输入的是字符串。尝试将您的 d2h() 代码更改为如下所示,您应该设置:
function d2h(d) { return (+d).toString(16); }
加号 (+
) 是强制变量为数字的简写方法。只有 Number 的 toString()
方法会采用基数,String 的不会。此外,您的结果将是小写的,因此您可能希望使用 toUpperCase()
将其强制为大写:
function d2h(d) { return (+d).toString(16).toUpperCase(); }
所以结果会是:
d2h("28") //is "1C"
关于javascript - 如何在 JavaScript 中将数字表示为十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291755/