Yor*_*ben 8 tofixed typescript angular
       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'.
前两行完美运行,但第三行并不真正有效.正如您所看到的,它甚至与distanceY完全相同.我试图首先解析Flos().但后来它开始抱怨我只能解析一个字符串到一个浮点数,而我没有提供一个.
我现在很困惑,所以一些帮助或解决方案将非常感激!
提前致谢!
编辑:我试图简化我的代码.使距离变得私密,并增加了二传手和吸气剂.
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行的错误.
Joh*_*ohn 19
该方法toFixed()将数字转换为字符串.您必须将变量解析为数字:
let distanceZ:number = parseFloat((-(this.frontclickedY - originY) / originY).toFixed(2));
或者临时存储字符串,稍后再解析
let distanceZTxt:string = (-(this.frontclickedY - originY) / originY).toFixed(2);
let distanceZ:number = parseFloat(distanceZTxt);
| 归档时间: | 
 | 
| 查看次数: | 27214 次 | 
| 最近记录: |