distanceX = ((this.frontclickedX - originX) / originX).toFixed(2);
distanceY = (-(this.frontclickedY - originY) / originY).toFixed(2);
let distanceZ: number = (-(this.frontclickedY - originY) / originY).toFixed(2);
当我计算距离 Z 时,我的浏览器抛出错误:
Type 'string' is not assignable to type 'number'.
前两行完美运行,但第三行并没有真正起作用。如您所见,它甚至与 distanceY 的计算完全相同。我首先尝试 parseFloat() 它。但随后它开始抱怨我只能将一个字符串解析为一个浮点数,而我没有提供一个。
我现在很困惑,所以非常感谢一些帮助或解决方案!
提前致谢!
编辑:我试图简化我的代码。将距离设为私有,并添加了 setter 和 getter。
private _distanceX: number;
private _distanceY: number;
private _distanceZ: number;
get distanceZ(): number {
return this._distanceZ;
}
set distanceZ(value: number) {
this._distanceZ = value;
} ...
calculateBadgeDistance(): void{
this.distanceX = (5.001).toFixed(2);
this.distanceY = (5.001).toFixed(2);
this.distanceZ = (5.001).toFixed(2);
}
现在我在所有 3 行都得到了错误。