为了账号安全,请及时绑定邮箱和手机立即绑定

是否有任何 JS 全局函数用于将包含带下划线作为数字分隔符的数字的字符串转换为数字?

是否有任何 JS 全局函数用于将包含带下划线作为数字分隔符的数字的字符串转换为数字?

MM们 2021-11-18 17:08:49
我需要以特殊方式将带有下划线分隔的十进制数的字符串转换为八进制数。是否有任何内置的 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');


查看完整回答
反对 回复 2021-11-18
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

您可以替换下划线并将值转换为八进制字符串。


var string = '2_442_5_88',

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


console.log(result);


查看完整回答
反对 回复 2021-11-18
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

只需使用 eval 来解析带有数字分隔符的字符串数:


const str = '2_442_5_88'

const result = eval(str).toString(2 << 2)

console.assert(result === '11242534');


查看完整回答
反对 回复 2021-11-18
  • 3 回答
  • 0 关注
  • 277 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信