首页 > 解决方案 > 是否有任何 JS 全局函数用于将包含下划线作为数字分隔符的数字的字符串转换为数字?

问题描述

我需要以特殊方式将带有下划线分隔的十进制数的字符串转换为八进制数。有没有内置的 JS 函数呢?

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

result变量应该11242534等于。只有someNameandoperator是可编辑的,它们可以是一元或二元运算符、数字、字符串值或类的名称、值、类型等。禁止引入多种语言元素、结构和函数调用。

标签: javascriptnumbers

解决方案


使用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');


推荐阅读