Как конвертировать шестнадцатеричный тип строки в число в JS? - PullRequest
0 голосов
/ 24 июня 2018

Допустим, у меня есть шестнадцатеричный код, например "0xdc", как мне преобразовать этот шестнадцатеричный string в шестнадцатеричный тип Number в JS?

Буквально просто теряю цитаты.Конструктор Number() и parseInt() просто преобразовали его в целое число от 0 до 255, я просто хочу 0xdc.

РЕДАКТИРОВАТЬ:

Чтобы сделать мою точку зрения более ясной: я хочуперейти от "0xdc" (типа String) к 0xdc (типа Number)

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

TL; DR

@ ответ Дакера о

parseInt(Number("0xdc"), 10) правильный.

Представление чисел в памяти

Оба числа 0xdc и 220 представлены одинаково в javascript

, поэтому 0xdc == 220 вернет true.префикс 0x используется, чтобы сообщить javascript, что число равно hex

Так что куда бы вы ни проезжали 220, вы можете безопасно передавать 0xdc или наоборот

Формат строки

Числа всегда отображаются в базе 10, если не указано иное.

'0x' + Number(220).toString(16) дает '0xdc', если вы хотите напечатать его в виде строки.


В двух словах

parseInt('0x' + Number(220).toString(16),16) => 220

0 голосов
/ 24 июня 2018

Вы можете сначала использовать конструктор Number, а затем ParseInt для преобразования в базу 10

console.log(parseInt(Number("0xdc"), 10));

JavaScript использует некоторые обозначения для распознавания числового формата, например -

  1. 0x = шестнадцатеричный
  2. 0b = Двоичный код
  3. 0o = Восьмеричное число

Так что вы не можете иметь то, что вам нужно.

...