2017-08-19 31 views
5

Mam takie oświadczenie w moim widoku i wiązanie ma wartość pozwala mówi 6970.87127381382131831, ale chcę ograniczyć to maksymalnie 2 dziesiętne. Ponieważ wymieniam elementy za pomocą ngFor, nie można użyć obiektu do ograniczenia go za pomocą .toFixed (2). Dziękuję wam wszystkim ! Angular 2 - Jak pozbyć się dodatkowych miejsc dziesiętnych w wiązaniu kątowym?

{{ cartitem.original_price * cartitem.qty * cartitem.unit_multiplier }}

Próbowałem metoda poniżej:

{{ cartitem.original_price * cartitem.qty * cartitem.unit_multiplier | number : 2 }}

mi nie pomoże.

+1

Próbowałaś: '| number: '1.0-2'' (z cytatami)? – ConnorsFan

+0

Próbuję za chwilę. – ozercevikaslan

+1

Twoja metoda go otrzymała, dzięki! – ozercevikaslan

Odpowiedz

3

Poniższe wyrażenie pozwoli Ci ustawić część dziesiętną do dwóch cyfr:

{{ cartitem.original_price * cartitem.qty * cartitem.unit_multiplier | number : '1.2-2' }} 

1,2-2 środki: przynajmniej jedna cyfra przed przecinkiem przynajmniej 2 cyfr po kropce dziesiętnej, ale nie więcej niż 2 cyfry.


{{ cartitem.original_price * cartitem.qty * cartitem.unit_multiplier | number : '1.0-2' }} 

1.0-2 środki: przynajmniej jedna cyfra przed przecinkiem i nie więcej niż 2 cyfry po.


O kątowego DecimalPipes i konfiguracji: https://angular.io/api/common/DecimalPipe

+0

: "1.0-2" działało dobrze i teraz próbuje twoje. Twoja pomogła mi dobrze. Dziękuję Ci ! – ozercevikaslan

+0

Sądzę więc, że "liczba:" 1.2-2 "" lepiej pasuje do mojego przypadku. – ozercevikaslan

1

jak podano w oficjalnych docs https://docs.angularjs.org/api/ng/filter/number

{{ number_expression | number : fractionSize}} 

w przypadku:

{{ (cartitem.original_price * cartitem.qty * cartitem.unit_multiplier) | number : 2 }} 

jeśli chcesz szereg poprawek cyfr można stworzyć swój własny filtr

App.filter('twoDecimal',function(input, scope){ 

return function(){ 

    return input.toFixed(2); 

    } 
}) 

i zastosuj to:

{{ (cartitem.original_price * cartitem.qty * cartitem.unit_multiplier) | twoDecimal }} 
+0

Mam to, ale jak wspomniałem powyżej, próbowałem go i mam błąd, to dlaczego myślałem, że mogę mieć jakąś pomoc o tym. Nie mogłem się domyślić, dlaczego właściwa metoda nie zadziałała w moim przypadku, ale dzięki za pomoc. Numer – ozercevikaslan