filter - navigationend - router events subscribe angular 4
En el angular 2, ¿cómo mostrar un número como dos monedas redondeadas decimales? (6)
Ejemplos:
- 1.99 -> $ 1.99
- 1.9 -> $ 1.90
- 1 -> $ 1.00
- 1.005 -> $ 1.01
- 1.004 -> $ 1.00
Estoy usando {{num | currency:''USD'':true}}
{{num | currency:''USD'':true}}
pero no muestra los 0 finales.
A continuación se convertirá con 2 dígitos decimales
{{num | currency : ''$'' : 2}}
angular 2
{{num | currency:''USD'':true:''1.2-2''}}
Bueno, tienes la respuesta correcta, pero aún así creo que puedo elaborar más esta respuesta para publicarla como respuesta:
En primer lugar, hay varios tubos disponibles de angular2 para usar en nuestro proyecto, algunos de ellos se enumeran a continuación.
CurrencyPipe, DatePipe, UpperCasePipe, LowerCasePipe y PercentPipe y muchos más.
Aquí, como su pregunta, tiene un problema relacionado con la tubería de divisas. entonces quiero explicar un poco más como otras respuestas.
CurrencyPipe:
Una tubería puede aceptar cualquier cantidad de parámetros opcionales para ajustar su salida. Agregamos parámetros a una tubería siguiendo el nombre de la tubería con dos puntos (:) y luego el valor del parámetro (por ejemplo, la moneda: ''EUR''). Si nuestro tubo acepta múltiples parámetros, separamos los valores con dos puntos (por ejemplo, sector: 1: 5).
{{número | moneda: ''your_type'': true: ''1.2-2''}}
aquí ... el primer parámetro es el tipo de moneda que es EUR, USD o cualquier otra cosa, el segundo parámetro es verdadero / falso para el symbolDisplay
que es falso por defecto. entonces el tercero es el límite de rango básicamente un límite de rango. Puede establecer una longitud mínima y máxima después del punto decimal y un número fijo (o dejarlo en blanco por defecto) para los lugares antes del punto decimal.
He encontrado algunos buenos tutoriales para los tubos en el angular2 que estoy publicando aquí ..
http://voidcanvas.com/angular-2-pipes-filters/
https://angular.io/docs/ts/latest/guide/pipes.html
Espero que ayude y aclare más sobre las tuberías !! @Pardeep !!
Estás usando la tubería correcta. Solo necesita agregar la información del dígito a la salida.
{{num | currency:''USD'':true}}
{{num | currency:''USD'':true}}
debería ser ...
{{num | currency:''USD'':true:''1.2-2''}}
Para referencia: ''USD''
representa el tipo de moneda, true
representa si mostrar el símbolo de moneda ($), y ''1.2-2''
representa la información del dígito.
La información de dígitos es {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
.
minIntegerDigits
es el número mínimo de dígitos enteros para usar y el valor predeterminado es 1.
minFractionDigits
es el número mínimo de dígitos después de la fracción y el valor predeterminado es 0.
maxFractionDigits
es el número máximo de dígitos después de la fracción y el valor predeterminado es 3.
La fuente de la información del dígito se puede encontrar aquí: https://angular.io/docs/ts/latest/api/common/index/DecimalPipe-pipe.html
Si, como yo, intentas hacer esto en el mecanografiado / javascript en lugar de HTML, también puedes usar toLocaleString
Entonces, para convertir un número a una cadena de moneda:
ppCurrency(number) {
return number.toLocaleString(''en-US'', { style: ''currency'', currency: ''USD'' });
}
Usa este código Aquí hay un ejemplo de trabajo http://plnkr.co/edit/xnN1HnJtTel6WA24GttR?p=preview {{num | currency:''USD'':true:''1.2-2''}}
{{num | currency:''USD'':true:''1.2-2''}}
Explicación
number_expression | número [: digitInfo]
Finalmente obtenemos un número decimal como texto. Encuentre la descripción.
number_expression: una expresión angular que dará un resultado a la salida.
number: Una palabra clave pipe que se usa con operador de tubería.
digitInfo: define el formato del número.
Ahora vamos a entender cómo usar digitInfo. La sintaxis para digitInfo es la siguiente.
{minIntegerDigits}. {minFractionDigits} - {maxFractionDigits}
Encuentre la descripción.
minIntegerDigits: número mínimo de dígitos enteros. El valor predeterminado es 1. (en nuestro caso 1)
minFractionDigits: número mínimo de dígitos de fracción. El valor predeterminado es 0. (en nuestro caso 2)
maxFractionDigits: Número máximo de dígitos de fracción. El valor predeterminado es 3. (en nuestro caso 2)
<input type="number" [(ngModel)]="myModel" (keyup)="onBlurMethod()">
<br>
<br> The formatted currency is :
<br> {{myModel | currency:''USD'':true:''1.2-2'' }}
Aquí está el ejemplo de trabajo.