JavaScript 以八进制计算表达式
JavaScript Calculate expression in octal radix
例如,我有以下字符串:
15+6
我想用八进制计算这个表达式。所以我想得到:
23
js中有支持这种情况的函数吗?如果不是,计算八进制表达式的最佳方法是什么?
是的,你可以用 radix 再次使用 parseInt()
with radix 8 and convert it to octal with Number#toString()
。
请看这里:Numbers and dates。八进制数的使用依赖于严格模式。
document.write((parseInt(15, 8) + parseInt(6, 8)).toString(8) + '<br>');
如果计算量大可以使用reduce,或者@Nina的回答...
var str = '15+6';
var res = str.split('+').reduce(function(a,b){
return a + parseInt(b, 8)
}, 0).toString(8)
console.log(res) // 23
使用ES6
标准:
In ECMAScript 6 Octal number is supported with by prefixing a number with "0o".
var result = 0o15 + 0o6;
document.write(result.toString(8));
例如,我有以下字符串:
15+6
我想用八进制计算这个表达式。所以我想得到:
23
js中有支持这种情况的函数吗?如果不是,计算八进制表达式的最佳方法是什么?
是的,你可以用 radix 再次使用 parseInt()
with radix 8 and convert it to octal with Number#toString()
。
请看这里:Numbers and dates。八进制数的使用依赖于严格模式。
document.write((parseInt(15, 8) + parseInt(6, 8)).toString(8) + '<br>');
如果计算量大可以使用reduce,或者@Nina的回答...
var str = '15+6';
var res = str.split('+').reduce(function(a,b){
return a + parseInt(b, 8)
}, 0).toString(8)
console.log(res) // 23
使用ES6
标准:
In ECMAScript 6 Octal number is supported with by prefixing a number with "0o".
var result = 0o15 + 0o6;
document.write(result.toString(8));