Существует ли какая-либо глобальная функция JS для преобразования строки, которая содержит число с подчеркиваниями в качестве разделителей цифр, к числу? - PullRequest
0 голосов
/ 12 октября 2019

Мне нужно специальным образом преобразовать строку с десятичным числом, разделенным подчеркиванием, в восьмеричное число. Есть ли для этого встроенная функция JS?

const str = '2_442_5_88';
const result = someFunc(str)['someFunc'](2 'some operator' 2);
console.assert(result === '11242534');

Переменная result должна быть равна 11242534. Только someName и operator доступны для редактирования, и они могут быть унарным или двоичным оператором, числом, строковым значением или именем класса, значения, типа и т. Д. Запрещено вводить несколько языковых элементов, конструкций и вызовов функций. .

Ответы [ 3 ]

1 голос
/ 12 октября 2019

Удалите подчеркивание с помощью замены, преобразуйте в число, а затем используйте Number.toString(radix) (в данном случае основание равно 8), чтобы преобразовать в восьмеричное число в строковом формате:

const string = '2_442_5_88';
const result = Number(string.replace(/_/g, '')).toString(8);
console.log(result);
console.assert(result === '11242534');
0 голосов
/ 28 октября 2019

Просто используйте eval для разбора номера строки с числовыми разделителями:

const str = '2_442_5_88'
const result = eval(str).toString(2 << 2)
console.assert(result === '11242534');
0 голосов
/ 12 октября 2019

Вы можете заменить подчеркивание и преобразовать значение в восьмеричную строку.

var string = '2_442_5_88',
    result = (+string.replace(/_/g, '')).toString(8);

console.log(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...