javascript - 是否有任何 JS 全局函数用于将包含下划线作为数字分隔符的数字的字符串转换为数字?
问题描述
我需要以特殊方式将带有下划线分隔的十进制数的字符串转换为八进制数。有没有内置的 JS 函数呢?
const str = '2_442_5_88';
const result = someFunc(str)['someFunc'](2 'some operator' 2);
console.assert(result === '11242534');
result
变量应该11242534
等于。只有someName
andoperator
是可编辑的,它们可以是一元或二元运算符、数字、字符串值或类的名称、值、类型等。禁止引入多种语言元素、结构和函数调用。
解决方案
使用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');
推荐阅读
- reactjs - 提供的道具类型无效
- javascript - 将 forwardRef 传递给 React.cloneElement - ReactJs
- scala - 火花过滤器功能给出错误
- matlab - 如何在 Matlab/Octave 中逐步增加矩阵的维数?
- redis - 如何获取与全局键不匹配的 Redis 集合的元素?
- html - 如何更改文本字体颜色,同时将鼠标悬停在 a 或 的任何部分?
- oracle - 运行 Proc 的问题 - Oracle PL/SQL
- c# - C# .Net MysqlConnector ConnectionString 密码问题/问题
- webrtc - 如何在 python 的发送指示中封装 stun 绑定请求
- excel - 如何在 Excel VBA 中的 .Range 中使用字符串?