J'ai une valeur flottante pour le modèle ng que je voudrais toujours afficher avec deux décimales dans le <input>
:
<input ng-model="myNumb" step ="0.01" type="number">
Cela fonctionne dans la plupart des cas lorsque "myNumb" a un nombre décimal. Mais il ne forcera pas l'affichage des 2 décimales si "myNumb" a moins de 2 décimales (3.2), ou un entier (30).
Comment puis-je forcer l'affichage de deux décimales dans le champ <input>
AngularJS - Entrez un nombre avec 2 décimales cela pourrait aider ... Filtration:
- Définissez l'expression régulière pour valider l'entrée à l'aide de ng-pattern. Ici, je veux accepter uniquement les nombres avec un maximum de 2 décimales et un séparateur de points.
<input type="number" name="myDecimal" placeholder="Decimal" ng-model="myDecimal | number : 2" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" step="0.01" />
La lecture suivante a été indiquée lors de la réponse suivante ng-model = "myDecimal | number: 2" .
{{value | number : fractionSize}}
comme {{12.52311 | number : 2}}
donc ceci va imprimer 12.52
Avez-vous essayé d'utiliser le filtre
<input ng-model='val | number: 2'>
Si vous utilisez Angular 2 (apparemment, cela fonctionne aussi pour Angular 4 également), vous pouvez utiliser ce qui suit pour arrondir à deux décimales{{ exampleNumber | number : '1.2-2' }}
, comme dans
<ion-input value="{{ exampleNumber | number : '1.2-2' }}"></ion-input>
PANNE
'1.2-2'
signifie {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
:
Un autre raccourci pour (la réponse de @ maudulus) pour supprimer {maxFractionDigits}
puisqu'il est facultatif.
Vous pouvez utiliser {{numberExample | number : '1.2'}}
le meilleur moyen d’arrondir le nombre en décimales est que
a=parseFloat(Math.round(numbertobeRound*10^decimalplaces)/10^decimalplaces);
par exemple ;
numbertobeRound=58.8965896589;
si tu veux 58.90
décimalplaces est 2
a=parseFloat(Math.round(58.8965896589*10^2)/10^2);
Utilisez simplement le nombre pipe comme ceci:
{{ numberValue | number : '.2-2'}}
Le tuyau ci-dessus fonctionne comme suit: