在角度2中,如何将数字显示为两位十进制舍入货币?

g.s*_*sui 33 currency rounding filter angular

例子:

  • 1.99 - > 1.99美元
  • 1.9 - > 1.90美元
  • 1 - > 1.00美元
  • 1.005 - > 1.01美元
  • 1.004 - > 1.00美元

我正在使用,{{num | currency:'USD':true}}但它没有显示尾随0.

Mub*_*hir 82

使用此代码.这是一个工作示例http://plnkr.co/edit/xnN1HnJtTel6WA24GttR?p=preview {{num | currency:'USD':true:'1.2-2'}}

说明:
number_expression | 数[:digitInfo]

最后我们得到一个十进制数字作为文本.找到描述.

number_expression:一个角度表达式,它将为输出提供一个数字.

number:与管道运算符一起使用的管道关键字.

digitInfo:它定义数字格式.

现在我们将了解如何使用digitInfo.digitInfo的语法如下.

{minIntegerDigits} {} minFractionDigits - {} maxFractionDigits

找到描述.

minIntegerDigits:最小整数位数.默认值为1.(在我们的例子中为1)

minFractionDigits:最小分数位数.默认值为0.(在我们的例子中为2)

maxFractionDigits:最大分数位数.默认值为3.(在我们的例子中为2)


Par*_*ain 19

嗯,你得到了正确的答案,但我认为我可以详细说明这个答案,所以将其作为答案发布:

首先,我们的项目中有多个可用的angular2管道,其中一些列在下面

CurrencyPipe,DatePipe,UpperCasePipe,LowerCasePipe和PercentPipe等等.

这里作为您的问题,您有与货币管道相关的问题.所以我想解释一下其他答案.

CurrencyPipe:

管道可以接受任意数量的可选参数来微调其输出.我们通过使用冒号(:)跟随管道名称然后参数值(例如,货币:'EUR')将参数添加到管道.如果我们的管道接受多个参数,我们用冒号分隔值(例如切片:1:5).

{{号码| 货币: 'your_type':真: '1.2-2'}}

在这里...第一个参数是要么是欧元,美元或其他任何货币类型,第二个参数是真/假的symbolDisplay是假byDefault.然后第三个是范围限制基本上是一个范围限制.您可以设置小数点和固定号码后,最小和最大长度(或留空为默认值)小数点前的地方.

我找到了一些关于我在这里发布的angular2管道的好教程.

http://voidcanvas.com/angular-2-pipes-filters/

https://angular.io/docs/ts/latest/guide/pipes.html

希望它有助于澄清更多关于管道的信息!@Pardeep !!


My *_*eth 11

您正在使用正确的管道.您只需要将数字信息添加到输出中.

{{num | currency:'USD':true}} 应该...

{{num | currency:'USD':true:'1.2-2'}}

供参考:'USD'代表货币类型,true表示是否显示货币符号($),并'1.2-2'表示数字信息.

数字信息是{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.

minIntegerDigits是要使用的最小整数位数,默认为1.
minFractionDigits是小数后的最小位数,默认为0.
maxFractionDigits是小数后的最大位数,默认为3.

数字信息的来源可以在这里找到:https://angular.io/docs/ts/latest/api/common/index/DecimalPipe-pipe.html


swh*_*man 8

如果像我一样,你试图在typescript/javascript而不是HTML中这样做,你也可以使用toLocaleString

所以要将数字转换为货币字符串:

  ppCurrency(number) {
   return number.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
  }
Run Code Online (Sandbox Code Playgroud)


San*_*y K 5

以下将转换为2位小数

{{num | currency : '$' : 2}}
Run Code Online (Sandbox Code Playgroud)

角2

{{num | currency:'USD':true:'1.2-2'}}
Run Code Online (Sandbox Code Playgroud)