我有一个需求,需要使用ts中的decimal pipe来转换数字。
与其像这样使用decimal pipe:
<td>{{rmanFmvRulesDef.max | number :'1.2-2'}}</td>
我希望能够从组件中进行操作,请有人可以帮忙吗?
我有一个需求,需要使用ts中的decimal pipe来转换数字。
与其像这样使用decimal pipe:
<td>{{rmanFmvRulesDef.max | number :'1.2-2'}}</td>
我希望能够从组件中进行操作,请有人可以帮忙吗?
和通常在Angular中一样,您可以依靠DI。您可以在ts中覆盖转换函数。
import { DecimalPipe } from '@angular/common';
class MyService {
constructor(private _decimalPipe: DecimalPipe) {}
transformDecimal(num) {
return this._decimalPipe.transform(num, '1.2-2');
}
}
在providers数组中添加DecimalPipe,否则会出现错误。
providers: [DecimalPipe,...]
或者,您可以在 Stackblitz 上查看示例,使用 accounting
。
只需简单调用:element.price = format.formatCurrency(element.price);
定义助手后,您可以按如下方式进行定义:
<h2 *ngFor="let item of item">{{ item.price }}</h2>
作为示例。
组件:
import { accounting } from 'accounting';
export function formatCurrency(value) {
return accounting.formatMoney(value, '', 0, ' ', '.');
}
export function unformatCurrency(value) {
return accounting.unformat(value);
}
return accounting.formatMoney(value, '', 0, ' ', '.');
你可以用任何分隔符替换' '
和.
,比如,
或空格。如果要更新小数点后的位数,则可以将0
更改为所需的位数。
{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
,而在输入字段或直接 API 中使用的格式为:{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits|maxIntegerDigits}
。 - ddsultan