distanceX = ((this.frontclickedX - originX) / originX).toFixed(2);
distanceY = (-(this.frontclickedY - originY) / originY).toFixed(2);
let distanceZ: number = (-(this.frontclickedY - originY) / originY).toFixed(2);
distanceZ を計算すると、ブラウザがエラーをスローします。
Type 'string' is not assignable to type 'number'.
最初の 2 行は完全に機能しますが、3 行目は実際には機能しません。ご覧のとおり、distanceY とまったく同じ計算です。最初に parseFloat() を試みました。しかし、それから、文字列を float にしか解析できず、float を提供しなかったことに文句を言い始めます。
現時点でかなり混乱しているので、助けや解決策をいただければ幸いです。
前もって感謝します!
編集:コードを簡素化しようとしました。距離を非公開にし、セッターとゲッターを追加しました。
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行すべてでエラーが発生しました。