Angular πώς να εμφανίζετε τον αριθμό πάντα με 2 δεκαδικά ψηφία σε <input&gt,

Έχω μια τιμή float για το ng-model που θα ήθελα να εμφανίζεται πάντα με 2 δεκαδικά ψηφία στο <input>:

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

Αυτό λειτουργεί για τις περισσότερες περιπτώσεις όταν το "myNumb" έχει δεκαδικά ψηφία. Αλλά δεν θα επιβάλει την εμφάνιση των 2 δεκαδικών ψηφίων εάν το "myNumb" έχει λιγότερα από 2 δεκαδικά ψηφία (3.2), ή έναν ακέραιο αριθμό(30) Πώς μπορώ να επιβάλω την εμφάνιση 2 δεκαδικών ψηφίων στο πεδίο <input>

Λύση

AngularJS - Εισαγωγή αριθμού με 2 δεκαδικά ψηφία θα μπορούσε να βοηθήσει... Φιλτράρισμα:

  1. Ορίστε την κανονική έκφραση για την επικύρωση της εισόδου χρησιμοποιώντας ng-pattern. Εδώ θέλω να δέχομαι μόνο αριθμούς με το πολύ 2 δεκαδικά ψηφία και με διαχωριστικό τελεία.
<input type="number" name="myDecimal" placeholder="Decimal" ng-model="myDecimal | number : 2" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" step="0.01" />

Διαβάζοντας προς τα εμπρός αυτό επισημάνθηκε στην επόμενη απάντηση ng-model="myDecimal | number : 2".

Σχόλια (8)

Δοκιμάσατε να χρησιμοποιήσετε το φίλτρο

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

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

Σχόλια (4)

Χρήση φίλτρου νομίσματος με κενό σύμβολο ($)

{{val | currency:''}}
Σχόλια (1)