Các thông số cho số Pipe - Angular 2 là gì


123

Tôi đã sử dụng khung số bên dưới để giới hạn số ở hai chữ số thập phân.

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

Tôi đã tự hỏi logic đằng sau '1,2-2' là gì? Tôi đã thử với những thứ này để cố gắng đạt được một đường ống lọc đến 0 vị trí thập phân nhưng vô ích.





2
Điều này chỉ làm việc với góc 2
Lord Darth Vader

Câu trả lời:


251

Tham số có cú pháp sau:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

Vì vậy, ví dụ của bạn '1.2-2'có nghĩa là:

  • Tối thiểu 1 chữ số sẽ được hiển thị trước dấu thập phân
  • Nó sẽ hiển thị ít nhất 2 chữ số sau dấu thập phân
  • Nhưng không quá 2 chữ số

31
Điều này cũng không may vòng số, và thậm chí tồi tệ hơn, không có lời nào về nó trong tài liệu
phil294

1
@Blauhirn Tôi cũng gặp vấn đề tương tự, có cách nào khắc phục dễ dàng không hay tôi nên tạo đường ống của riêng mình?
S. Robijns

3
@ phil294 Tôi biết nhận xét của bạn là cũ, nhưng, bây giờ có một mô tả về làm tròn số. angle.io/api/common/DecimalPipe
Cristiano Bombazar

7

Từ DOCS

Định dạng một số dưới dạng văn bản. Định cỡ và phân tách nhóm cũng như các cấu hình theo ngôn ngữ cụ thể khác dựa trên ngôn ngữ hoạt động.

TỔNG HỢP:

number_expression | number[:digitInfo[:locale]]

nơi expressionlà một con số:

digitInfo là một chuỗi có định dạng sau:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
  • minIntegerDigits là số chữ số nguyên tối thiểu để sử dụng. Kết quả là 1
  • minFractionDigits là số chữ số tối thiểu
  • sau phân số. Mặc định là 0. maxFractionDigits là số chữ số lớn nhất sau phân số. Mặc định là 3.
  • locale là một chuỗi xác định ngôn ngữ sẽ sử dụng (sử dụng LOCALE_ID hiện tại theo mặc định)

DEMO


6
  1. Về câu hỏi đầu tiên của bạn, đường ống hoạt động như sau:

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

    • minIntegerDigits: Số chữ số nguyên tối thiểu để hiển thị trước dấu thập phân, được đặt thành 1 theo mặc định
    • minFractionDigits: Số chữ số nguyên tối thiểu để hiển thị sau dấu thập phân

    • maxFractionDigits: Số chữ số nguyên tối đa hiển thị sau dấu thập phân

2.Nhận xét câu hỏi thứ hai của bạn, Lọc thành 0 vị trí thập phân như sau:

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

Để đọc thêm, hãy xem blog sau


2

'1,0-0' sẽ cung cấp cho bạn 0 vị trí thập phân tức là không có số thập phân. ví dụ: $ 500


Tôi đang cố gắng định dạng một số như 114.5 để hiển thị là 114 nhưng khi tôi sử dụng '1.0-0', nó hiển thị '115', không ai biết tại sao không?
Karaja

1
Đó là vì góc làm tròn giá trị và cho 115 cho 114,5.
alchi baucha

2
Tại sao lại phản đối? điều này hoạt động và trả lời câu hỏi làm thế nào để lọc đến 0 vị trí thập phân. Cảm ơn @alchibaucha đã giải quyết chính xác vấn đề của tôi.
S ..
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.