1
AngularJs货币过滤器格式化带负数的负数。这里我使用的是Angular 2货币管道,它不会将负数格式化为括号。Angular2货币过滤器格式带括号的负数
它只是显示普通-$18.00
,但我想要显示这样的($18.00)
。我怎样才能做到这一点。
{{ -18 | currency }}
我要的结果是($18.00)
,而不是-$18.00
AngularJs货币过滤器格式化带负数的负数。这里我使用的是Angular 2货币管道,它不会将负数格式化为括号。Angular2货币过滤器格式带括号的负数
它只是显示普通-$18.00
,但我想要显示这样的($18.00)
。我怎样才能做到这一点。
{{ -18 | currency }}
我要的结果是($18.00)
,而不是-$18.00
如果你愿意,你可以很容易地编写自己的定制管给你同样的效果。
@Pipe({ name: 'myCurrency' })
export class MyCurrencyPipe implements PipeTransform {
transform(value: number): string {
if (value < 0) {
return `(${value.toFixed(2)})`;
}
return value.toFixed(2);
}
}
(不要忘记导入Pipe和PipeTransform)。
以上是粗略版本。适当的版本应该检查空值/未定义的输入值。您也可以使用现有的CurrencyPipe.transform并搭载该逻辑,而不是自行实施。
关键问题是不要回避编写自己的管道。他们很容易实现。
问题看起来不清楚。 '({{-18 | currency}})' – 2017-03-15 15:51:21
_“在AngularJs货币过滤器格式中带负圆括号的负数”_这是不正确的。也许你使用了自定义过滤器或两个过滤器。 – zeroflagL
这种情况只发生在IE不在其他浏览器中 – praveen