Angular cómo mostrar el número siempre con 2 decimales en <input>

Tengo un valor float para el modelo ng que me gustaría mostrar siempre con 2 decimales en el <input>:

<input ng-model="myNumb" step ="0.01" type="number">

Esto funciona para la mayoría de los casos cuando "myNumb" tiene decimales. Pero no forzará la visualización de los 2 decimales si "myNumb" tiene menos de 2 decimales (3,2), o un entero(30) ¿Cómo puedo forzar la visualización de 2 decimales en el campo <input>?

Solución

AngularJS - Número de entrada con 2 decimales podría ayudar... Filtrado:

  1. Establecer la expresión regular para validar el input usando ng-pattern. Aquí quiero aceptar sólo números con un máximo de 2 decimales y con un separador de puntos.
<input type="number" name="myDecimal" placeholder="Decimal" ng-model="myDecimal | number : 2" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" step="0.01" />

Leyendo hacia adelante esto se señaló en la siguiente respuesta ng-model="miDecimal | número : 2".

Comentarios (8)

¿Intentaste usar el filtro

<input ng-model='val | number: 2'>

https://docs.angularjs.org/api/ng/filter/number

Comentarios (4)

Utilizar el filtro de moneda con el símbolo vacío ($)

{{val | currency:''}}
Comentarios (1)