В моем проекте Angular 10 у меня есть несколько mat-form-fields
с <input type=number>
, к которым я хочу добавить разделитель тысяч.
Это означает, что когда пользователь вводит число, программа должна вставлять запятые каждые три цифры, а не в плавающую часть.
Так, например, если пользователь вводит 1200,5869, он должен видеть это число в своем поле ввода при вводе: 1,200,5869. (кстати, это очень распространено на сайтах по торговле криптовалютой).
Вещи, которые я пробовал до сих пор:
- библиотека ngx-mask, которая отлично работает, когда я меняю тип ввода на тел, но не когда это номер.
- написание моей собственной директивы angular, которая изменяет ввод по мере того, как пользователь печатает, чего я действительно не мог сделать. потому что запятые не допускаются в типе ввода = число, и он просто удалял бы входное значение всякий раз, когда директива пыталась вставить запятую.
Это мой входной код .html
:
<mat-form-field appearance="outline">
<mat-label>amount</mat-label>
<input
type="number"
matInput
[min]="0.1"
[step]="0.1"
formControlName="quantity"
/>
<span matSuffix>
USDT
</span>
</mat-form-field>