数字“管道-角度2”的参数是什么


123

我使用下面的数字管道将数字限制为两位小数。

{{ exampleNumber | number : '1.2-2' }}

我想知道'1.2-2'背后的逻辑是什么?我尝试使用这些方法来实现过滤到小数点后零位但无济于事的管道。





2
这仅适用于Angular 2
Darth Vader勋爵,

Answers:


251

该参数具有以下语法:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

因此,您的示例'1.2-2'意味着:

  • 小数点前至少显示一位数字
  • 小数点后将显示至少2位数字
  • 但不超过2位数字

31
不幸的是,这也四舍五入了这个数字,甚至更糟的是,文档中没有关于它的任何消息
phil294

1
@Blauhirn我遇到了同样的问题,是否有简单的解决方法,还是应该创建自己的管道?
S. Robijns

3
@ phil294我知道您的评论很旧,但是,现在有关于四舍五入数字的描述。angular.io/api/common/DecimalPipe
克里斯蒂亚诺·邦巴扎

7

来自 DOCS

将数字设置为文本格式。组大小和分隔符以及其他特定于语言环境的配置均基于活动语言环境。

句法:

number_expression | number[:digitInfo[:locale]]

数字在哪里expression

digitInfo 是具有以下格式的字符串:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
  • minIntegerDigits是要使用的最小整数位数,默认为1
  • minFractionDigits是最小位数
  • 分数后。默认值为0。maxFractionDigits是小数后的最大位数。默认为3。
  • locale是定义要使用的语言环境的字符串(默认情况下使用当前的LOCALE_ID)

DEMO


6
  1. 关于第一个问题,管道的工作方式如下:

    numberValue | number: {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

    • minIntegerDigits:小数点前显示的最小整数位数,默认设置为1
    • minFractionDigits:小数点后显示的最小整数位数

    • maxFractionDigits:小数点后显示的最大整数位数

2.关于第二个问题,按如下所示过滤到零位小数:

{{ numberValue | number: '1.0-0' }}

要进一步阅读,请查看以下博客


2

“ 1.0-0”将为您提供零个小数位,即没有小数。例如:$ 500


我正在尝试将114.5之类的数字格式化为114,但是当我使用“ 1.0-0”时它显示为“ 115”,有人知道为什么吗?
Karaja

1
这是因为角度将值取整,并为114.5给出115。
alchi baucha

2
为什么要下票?这有效并回答了如何过滤到零位小数的问题。谢谢@alchibaucha恰好解决了我的问题。
秒。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.