ng-modelに小数点以下2桁で表示させたいfloatの値を<input>
に入れています:
<input ng-model="myNumb" step ="0.01" type="number">
これは、"myNumb" が小数を持っている場合、ほとんどのケースで動作します。しかし、"myNumb"が小数点以下2桁(3.2)または整数(30)の場合、小数点以下2桁を強制的に表示することはできません。
どうすれば、<input>
フィールドに小数点以下2桁を表示させることができますか?
AngularJS - 小数点以下2桁の数値を入力 それは役に立つかもしれない... フィルタリング
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"で指摘されていました。
{{値|番号:fractionSize}}。
{{12.52311 |番号:2}}
のように。
これで「12.52」が印刷されます。
Angular 2を使用している場合(どうやらAngular 4でも動作するようです)、次のように使用して、小数点第2位で四捨五入できます {exampleNumber | number: '1.2-2'}}
、次のように。
<ion-input value="{{ exampleNumber | number : '1.2-2' }}"></ion-input>
----------。
BREAKDOWN 。
'1.2-2 ''は
{minIntegerDigits}を意味します。{minFractionDigits}-{maxFractionDigits} `:
-小数点以下1桁が表示されます。 -小数点以下2桁以上表示されます。 -しかし、2桁以下。
数値を小数点以下で四捨五入する最良の方法はそれです。
a=parseFloat(Math.round(numbertobeRound*10^decimalplaces)/10^decimalplaces);
例;。
numbertobeRound=58.8965896589;
58.90が必要な場合。
小数点は2です。
a=parseFloat(Math.round(58.8965896589*10^2)/10^2);