为什么十六进制值在 javascript 中作为数字返回
Why does hex value is returned as a number in javascript
我在浏览器控制台中尝试了以下代码。
var testingVar = 0xffff00;
当我访问变量时,它返回值 16776960
而不是六进制值。为什么会这样?我们不能在变量中存储 hexa 值吗?
Javascript 中没有 "hex value" 这样的东西。有字符串和数字。
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);
我在浏览器控制台中尝试了以下代码。
var testingVar = 0xffff00;
当我访问变量时,它返回值 16776960
而不是六进制值。为什么会这样?我们不能在变量中存储 hexa 值吗?
Javascript 中没有 "hex value" 这样的东西。有字符串和数字。
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);