Angular 如何用角形电流管显示便士(一)的位置?

Angular 如何用角形电流管显示便士(一)的位置?,angular,pipe,currency-pipe,Angular,Pipe,Currency Pipe,当我的数字通过Angular的CurrencyPipe格式化时,我试图显示1(便士)的位置。这是我的烟斗: (686.50 | currency:'USD': true: '1.0-2') 当前输出为$686.5 预期输出为686.50美元 我的{minFractionDigits}是0,因为我想将整数(例如52.00)显示为$52。但是,如果存在除.00以外的十进制值(在1或10位),我希望格式化后的数字包含两个十进制值,而不仅仅是10位(10位) 如何使CurrencyPipe显示数字(

当我的数字通过Angular的CurrencyPipe格式化时,我试图显示1(便士)的位置。这是我的烟斗:

(686.50 | currency:'USD': true: '1.0-2') 
当前输出为$686.5
预期输出为686.50美元

我的
{minFractionDigits}
是0,因为我想将整数(例如52.00)显示为
$52
。但是,如果存在除.00以外的十进制值(在1或10位),我希望格式化后的数字包含两个十进制值,而不仅仅是10位(10位)


如何使CurrencyPipe显示数字(如686.50)的1(便士)位置,而不显示数字(如52.00)的任何小数?

因此一篇文章中有两个问题

要显示两个小数点,管道需要如下所示:
urrency:'USD':true:'1.2-2'

下面是如何使用条件模板来显示小数或不显示小数:

  <ng-container *ngIf="value % 1 === 0; else decimals">{{ valueB | currency:'USD':true:'1.0' }}</ng-container>
  <ng-template #decimals>{{ value | currency:'USD':true:'1.2-2' }}</ng-template>
{{valueB |货币:'USD':true:'1.0'}
{{value}货币:'USD':真:'1.2-2'}

它检查余数,如果为0,则使用不带小数的管道。否则,调用使用带两个小数的管道的模板。

我的问题是关于如何使CurrencyPipe显示数字(如686.50)的位置,这是一个问题。我当前的实现是您的建议,但并不理想,因为管道的预期功能是显示两位小数,并将“USD”设置为货币。进一步的研究表明,最好的选择是创建一个定制的CurrencyPipe,正如我在回答中提到的@AveryBuehler,如果您将管道从
货币:'USD':true:'1.0-2'
更改为
货币:'USD':true:'1.2-2'
它应该显示
686.50
的两位小数位/一分,并且它将显示为
686.50
。那不管用吗?