JavaScript中能否使用变量实现e表示法(科学计数法)?
解决方案
直接写1e[USD_DECIMALS]在JavaScript里是不合法的,因为科学计数法的e后必须跟字面量数字,不能是变量或表达式。不过你可以通过以下几种方式实现动态生成对应数值的需求:
方法1:使用指数运算符**(ES6+)
这是最简洁的写法,10 ** n等价于10的n次方,和1en效果完全一致:
const USD_DECIMALS = 2 const USD = 10 ** USD_DECIMALS // 结果为100
方法2:使用Math.pow()
如果需要兼容更老的环境,Math.pow()是更稳妥的选择,作用是计算幂:
const USD_DECIMALS = 2 const USD = Math.pow(10, USD_DECIMALS) // 结果为100
方法3:通过Number()构造函数转换字符串
先动态拼接科学计数法格式的字符串,再转成数字:
const USD_DECIMALS = 2 const USD = Number(`1e${USD_DECIMALS}`) // 结果为100
以上三种方法都能实现需求,其中指数运算符**写法最简洁,推荐在现代项目中使用。
内容的提问来源于stack exchange,提问作者mikemaccana
相关产品推荐
相关产品推荐

