JS中的这种切片调用有什么问题?

时间:2019-06-18 08:31:06

标签: javascript css slice

我写了这一行,但是得到一个错误:

  

切片无法在那里处理。

为什么以及如何解决?

function (row) {
    var r = Math.round(Object.values(row)[3] / Object.values(row)[4]);
    var t = Object.values(row)[2];
    var s = Math.round((t - r) / t * 100);
    return '<span id="up">${s.slice(0,2)}%</span>'
}

1 个答案:

答案 0 :(得分:1)

您的变量s是一个数字,但是slice函数需要一个string。解决方案是将s转换为字符串:

const slice = `${s}`.slice(0, 2);

修改

要显示带有n小数的数字,可以在四舍五入之前将其乘以10^n,然后将其除以相同的数字,将n小数点后的内容切掉。

// display number with n decimals
const numberDisplay = (number, numberOfDecimals) => Math.round(number * Math.pow(10, numberOfDecimals)) / Math.pow(10, numberOfDecimals);

// your desired number display
const slice = numberDisplay(s, 2);