Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Angular 2/Typescript中显示带括号的负货币_Angular_Typescript_Localization - Fatal编程技术网

在Angular 2/Typescript中显示带括号的负货币

在Angular 2/Typescript中显示带括号的负货币,angular,typescript,localization,Angular,Typescript,Localization,Angular的en-us本地化自1.3版以来已更新,以显示带有负号而不是括号的负货币。我使用的是AngularJS 2/Typescript,希望用括号(甚至其他东西)覆盖默认的负号 在本节目中,我将覆盖negPre和negSuf,但我不知道如何使用Angular2实现这一点。或者是一种更优雅的方式来实现这一点。我感谢你提出这个伟大的问题。当然,货币管道确实存在,但在扫描之后,似乎开箱即用的这个管道不会做你想要的事情。但是,您可以使用自定义管道来实现目标 1。首先,认识到您可以“连锁管道”。

Angular的en-us本地化自1.3版以来已更新,以显示带有负号而不是括号的负货币。我使用的是AngularJS 2/Typescript,希望用括号(甚至其他东西)覆盖默认的负号


在本节目中,我将覆盖negPre和negSuf,但我不知道如何使用Angular2实现这一点。或者是一种更优雅的方式来实现这一点。

我感谢你提出这个伟大的问题。当然,货币管道确实存在,但在扫描之后,似乎开箱即用的这个管道不会做你想要的事情。但是,您可以使用自定义管道来实现目标

1。首先,认识到您可以“连锁管道”。

例如,可以使用数字类型变量,通过货币管道发送,然后通过自己的自定义管道发送:

<h1>{{someNumber | currency:'USD':true | myCustomPipe}}</h1>
我还创建了一个很好的管道,作为最低可行的示例。假设您有一个组件,它显示值为-5(负5)的someNumber变量

这是如果你想玩的话


记住,就像我会说的那样,把它吹起来

考虑扩展currecyppe类:我想保持其他国家/地区/语言本地化的完整性,只需更新en-US即可。我正在检查CurrencyPipe中的本地化,然后如果我们改变显示,但是看起来很脏。非常干净,很好!谢谢吉姆,解释得很好。谢谢你的帮助!杰出!非常感谢。超级的。非常好的解决方案。我在ts文件中计算了值{Details}},并在详细信息<0时用ngIf显示在html视图中…我可以使用自定义管道并在管道中使用,还是必须在ts文件中执行任何操作?
value.charAt(0) === '-' ?
'(' + value.substring(1, value.length) + ')' :
value;
@Component({
  selector: 'my-app',
  template: `
    <h2>MinusSignToParens Pipe Demo</h2>
    <h1>{{someNumber | currency:'USD':true | minusSignToParens}}</h1>
  `
})
export class App implements OnInit {
   
  private someNumber = -5;
  
  constructor() {}
  
  ngOnInit() {}
}
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'minusSignToParens'
})
export class MinusSignToParens implements PipeTransform {

    transform(value: any, args?: any): any {
        return value.charAt(0) === '-' ?
           '(' + value.substring(1, value.length) + ')' :
           value;
    }
}