gpt4 book ai didi

javascript - 在 Javascript 中使用它获取数字的值

转载 作者:行者123 更新时间:2023-11-30 14:02:59 25 4
gpt4 key购买 nike

所以我想在 Javascript 中将“roundTo”函数添加到现有的 Number 对象。该函数将返回四舍五入到 x 位小数的数字。这是一个不使用数字原型(prototype)的工作函数:

Math.roundTo = (value, decimals) => Math.round(value * Math.pow(10, decimals)) / Math.pow(10, decimals); 

但是当我尝试这样做时:

Number.prototype.roundTo = decimals => this = Math.round(this * Math.pow(10, decimals)) / Math.pow(10, decimals);

存在 ReferenceError:左侧分配无效。

所以现在,我想知道如何获取数字的值,因为使用“this”关键字,我无法获取数字的值。但是我如何获得数字的值呢?

最佳答案

首先,您必须使用普通函数,因为使用箭头函数时您会丢失 this

其次,您必须返回值而不更改 this,因为那是一个只读引用。

Number.prototype.roundTo = function(decimals) {
return Math.round(this * Math.pow(10, decimals)) / Math.pow(10, decimals);
}

let x = 5.1234;

console.log(x.roundTo(1));

如果您已经在 Math 上实现了您的方法,您可以使用:

Math.roundTo = (value, decimals) => Math.round(value * Math.pow(10, decimals)) / Math.pow(10, decimals);

Number.prototype.roundTo = function(decimals) {
return Math.roundTo(this, decimals);
}

let x = 5.1234;

console.log(x.roundTo(1));

关于javascript - 在 Javascript 中使用它获取数字的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55981518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com