我需要以特殊方式将带有下划线分隔的十进制数的字符串转换为八进制数。是否有任何内置的 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 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
使用replace去掉下划线,转换为数字,然后使用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');
慕桂英546537
TA贡献1848条经验 获得超10个赞
您可以替换下划线并将值转换为八进制字符串。
var string = '2_442_5_88',
result = (+string.replace(/_/g, '')).toString(8);
console.log(result);
收到一只叮咚
TA贡献1821条经验 获得超4个赞
只需使用 eval 来解析带有数字分隔符的字符串数:
const str = '2_442_5_88'
const result = eval(str).toString(2 << 2)
console.assert(result === '11242534');
添加回答
举报
0/150
提交
取消