Saya memiliki nilai float untuk ng-model yang saya ingin selalu menampilkan dengan 2 angka desimal di <input>
:
<input ng-model="myNumb" step ="0.01" type="number">
Ini bekerja untuk sebagian besar kasus ketika "myNumb" telah desimal. Tapi itu tidak akan memaksa display dari 2 tempat desimal jika "myNumb" memiliki kurang dari 2 tempat desimal (3.2), atau integer(30)
Bagaimana saya bisa memaksa display dari 2 tempat desimal di <input>
lapangan
AngularJS - Input nomor dengan angka desimal 2 ini bisa membantu... Penyaringan:
- Mengatur regular expression untuk validasi input menggunakan ng-pola. Di sini saya ingin hanya menerima angka dengan maksimal 2 tempat desimal dan dengan titik pemisah.
<input type="number" name="myDecimal" placeholder="Decimal" ng-model="myDecimal | number : 2" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" step="0.01" />
Membaca ke depan hal ini menunjuk di depan jawaban ng-model="myDecimal | nomor : 2".
{{nilai | jumlah : fractionSize}}
seperti {{12.52311 | nomor : 2}}
jadi ini akan mencetak 12.52
Jika anda menggunakan Sudut 2 (rupanya ia juga bekerja untuk Sudut 4 terlalu), anda dapat menggunakan berikut untuk putaran ke dua tempat desimal{{ exampleNumber | nomor : '1.2-2' }}
, seperti dalam:
<ion-input value="{{ exampleNumber | number : '1.2-2' }}"></ion-input>
KERUSAKAN
'1.2-2'
berarti {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
:
Apakah anda mencoba menggunakan filter
<input ng-model='val | number: 2'>
Hanya menggunakan jumlah pipa seperti :
{{ numberValue | nomor : '.2-2'}}
Pipa atas karya sebagai berikut :
cara terbaik untuk membulatkan bilangan ke bilangan desimal adalah bahwa
a=parseFloat(Math.round(numbertobeRound*10^decimalplaces)/10^decimalplaces);
Misalnya ;
numbertobeRound=58.8965896589;
jika anda ingin 58.90
decimalplaces 2
a=parseFloat(Math.round(58.8965896589*10^2)/10^2);