如何在打字稿中使用 angular 小数点竖线
How to use the angular decimal pipe in typscript
我是这样使用 angular decimal pipe 的:
// Typescript
@Component({...})
export class ConfusionMatrixComponent {
@Input()
roundRules = '1.0-2';
}
// HTML:
<div class="value">{{ getIntensityNumber(i) | number: roundRules }}</div>
如何在 typescript 函数上使用同一个管道?
您可以使用 Ng 依赖注入。
确保导入模块并将 DecimalPipe
添加到提供程序数组。
providers: [DecimalPipe,...]
然后在你的组件中。
import { DecimalPipe } from '@angular/common';
class MyService {
constructor(private _decimalPipe: DecimalPipe) {}
transformDecimal(num) {
return this._decimalPipe.transform(num, '1.2-2');
}
}
decimalPipe
的另一种方法是 formatNumber
我在 similar question 中找到了如何使用它:只需要从 @angular/commun
导入 DecimalPipe
并将其用作服务:
// Typescript
import { DecimalPipe } from '@angular/common';
@Component({...})
export class ConfusionMatrixComponent {
@Input()
roundRules = '1.0-2';
constructor(private decimalPipe: DecimalPipe) { }
getRoundNumber(num: number): string | null {
return this.decimalPipe.transform(num, this.roundRules) ?? '0';
}
}
// HTML:
<div class="value">{{ getRoundNumber(23.50873) }}</div>
此外,确保将 DecimalPipe 添加到 providers
angular 模块中:
import { CommonModule, DecimalPipe } from '@angular/common';
@NgModule({
declarations: [...],
imports: [CommonModule],
exports: [...],
providers: [DecimalPipe]
})
我是这样使用 angular decimal pipe 的:
// Typescript
@Component({...})
export class ConfusionMatrixComponent {
@Input()
roundRules = '1.0-2';
}
// HTML:
<div class="value">{{ getIntensityNumber(i) | number: roundRules }}</div>
如何在 typescript 函数上使用同一个管道?
您可以使用 Ng 依赖注入。
确保导入模块并将 DecimalPipe
添加到提供程序数组。
providers: [DecimalPipe,...]
然后在你的组件中。
import { DecimalPipe } from '@angular/common';
class MyService {
constructor(private _decimalPipe: DecimalPipe) {}
transformDecimal(num) {
return this._decimalPipe.transform(num, '1.2-2');
}
}
decimalPipe
的另一种方法是 formatNumber
我在 similar question 中找到了如何使用它:只需要从 @angular/commun
导入 DecimalPipe
并将其用作服务:
// Typescript
import { DecimalPipe } from '@angular/common';
@Component({...})
export class ConfusionMatrixComponent {
@Input()
roundRules = '1.0-2';
constructor(private decimalPipe: DecimalPipe) { }
getRoundNumber(num: number): string | null {
return this.decimalPipe.transform(num, this.roundRules) ?? '0';
}
}
// HTML:
<div class="value">{{ getRoundNumber(23.50873) }}</div>
此外,确保将 DecimalPipe 添加到 providers
angular 模块中:
import { CommonModule, DecimalPipe } from '@angular/common';
@NgModule({
declarations: [...],
imports: [CommonModule],
exports: [...],
providers: [DecimalPipe]
})