Угловой, как всегда отображать число с 2 десятичными разрядами во <входе>

У меня есть значение плавающее для ng-модели, которую я хотел бы всегда отобразить с 2 десятичными разрядами в <input>:

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

Это работает на большую часть случая, когда "myNumb" имеет десятичное число. Но это не будет принудительное отображение 2 десятичных разрядов, если "myNumb" будет иметь меньше чем 2 десятичных разряда (3.2), или целое число (30)
Как я могу вызвать дисплей 2 десятичных разрядов в <input> поле

62
задан 26 February 2016 в 18:01

8 ответов

AngularJS - Входное число с 2 десятичными разрядами это могло помочь... Фильтрация:

  1. Набор регулярное выражение для проверки входа с помощью ng-шаблона. Здесь я хочу принять только числа максимум с 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-модель = "myDecimal | число: 2 дюйма .

68
ответ дан 31 October 2019 в 13:23
{{value | number : fractionSize}}

как {{12.52311 | number : 2}}

, таким образом, это распечатает 12.52

38
ответ дан 31 October 2019 в 13:23

При использовании Угловых 2 (по-видимому, это также работает на Угловые 4 также), можно использовать следующее для раунда к двум десятичным разрядам {{ exampleNumber | number : '1.2-2' }}, как в:

<ion-input value="{{ exampleNumber | number : '1.2-2' }}"></ion-input>
<час>

РАЗБИВКА

'1.2-2' средства {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}:

  • минимум А 1 цифры покажут перед десятичной точкой
  • Это покажет по крайней мере 2 цифры после десятичной точки
  • , Но не больше чем 2 цифры

Кредит, подлежащий выплате здесь и здесь

28
ответ дан 31 October 2019 в 13:23

Вы пытались использовать фильтр

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

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

26
ответ дан 31 October 2019 в 13:23

Просто используйте канал числа как так:

{{ numberValue | number : '.2-2'}}

канал выше работ следующим образом:

  • Шоу по крайней мере 1 целочисленная цифра перед десятичной точкой, установленной значением по умолчанию
  • Шоу не меньше 2 целочисленных цифры после десятичной точки
  • Шоу не больше чем 2 целочисленных цифры после десятичной точки
7
ответ дан 31 October 2019 в 13:23

Другая стенография к (ответ @maudulus) для удаления {maxFractionDigits}, так как это является дополнительным.

можно использовать {{numberExample | number : '1.2'}}

4
ответ дан 31 October 2019 в 13:23

лучший способ Округлить число до десятичных разрядов состоит в том что

a=parseFloat(Math.round(numbertobeRound*10^decimalplaces)/10^decimalplaces);

, например;

numbertobeRound=58.8965896589;

, если Вы хотите 58.90

, decimalplaces равняется 2

a=parseFloat(Math.round(58.8965896589*10^2)/10^2);
3
ответ дан 31 October 2019 в 13:23

Используйте фильтр валюты с пустым символом ($)

{{val | currency:''}}
-2
ответ дан 31 October 2019 в 13:23

Другие вопросы по тегам:

Похожие вопросы: