javascript - 如何在 JavaScript 中将数字表示为十六进制?

标签 javascript

我正在尝试使用 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/

相关文章:

javascript - 返回倒数计时器的下一个本地化日期

javascript - 如何将照片链接添加到我的文件中并自动继续使用 JavaScript

WebBrowser 中的 Javascript 控制台

javascript - 如何将自定义插件添加到 KeystoneJS 管理 UI 中?

javascript - 使用 Apollo-Client 对 GitHub API v4 进行身份验证

javascript - 在 ajax 响应元素上触发 JQuery 事件

javascript - 服务器端渲染中未定义 React Context

JavaScript:创建对 'this' 的引用(例如 'var _this = this' )与绑定(bind)/调用/应用

javascript - localStorage.clear() 用法

javascript - 让 kineticjs 使用现有的 Canvas