为什么十六进制值在javascript中以数字形式返回
Why does hex value is returned as a number in javascript
我在浏览器控制台中尝试了以下代码。
var testingVar = 0xffff00;
当我访问变量时,它会返回值16776960
,而不是hexa值。为什么会发生这种情况?难道我们不能在变量中存储hexa值吗。
在Javascript中没有"十六进制值"这回事。有字符串和数字。
0xffff00
只是用于指定数字的另一种语法。默认情况下,控制台将以十进制(以10为基数)打印数字,这就是您看到16776960
的原因。
您可以通过toString
方法使用不同的基数来查看数字的字符串表示。
// hex
(0xffff00).toString(16) // "0xffff00"
// decimal
(0xffff00).toString(10) // "16776960"
// octal (for good measure)
(0xffff00).toString(10) // "77777400"
您可以在Javascript中使用十六进制。
当您需要将八进制或十六进制字符串转换为数字时,请使用函数parseInt(str,base)
。考虑这些例子,首先你应该像下面这样定义
var testingVar = '0xffff00';
当你需要的时候,你可以打电话如下:
num = parseInt(testingVar, 16);
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 测试索引值是否等于某个数字的倍数
- 将数字转换为一定数量的硬币
- 键入最后一位数字后自动提交
- 如何在javascript中迭代数字列表
- Javascript逻辑运算符和字符串/数字
- 如何在javascript中获得与特定数字相等的随机数
- 如果元素's的ID以数字开头
- 递增一个数字而不去掉前导零
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 如何在这里将两个值最低的数字相加
- 如何删除除冒号、数字和'上午'或者'下午'
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Javascript排序字符串或数字
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 将数字四舍五入到小数点后两位
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 正则表达式与数字中的第二个点匹配
- 制作一个regex来验证只有一个数字的字符串
- 分开的数字和字母