У меня есть номер в этом формате 7873, и мне нужно преобразовать его в этом формате 7'873.
Второй формат у меня есть 3564.55443, и мне нужно отформатировать его до 3564.5. Для второго формата я использовал число: 1 фильтр, но он отформатировал его как 3.564.5, но мне не нужна запятая спереди.
Может ли кто-нибудь помочь мне сделать это? Я использую Angular 1.5.
Заранее спасибо.
Лучшим решением может быть создание собственных пользовательских фильтров и их использование в сочетании с собственным угловым фильтром.
app.filter('withTick', function () {
return function(input) {
return input.replace(/,/g, "'");
};
});
Реализация {{ myNumber | number | withTick }}
{{ myNumber | number | withTick }}
{{ myNumber | number | withTick }}
(с использованием фильтра углового числа сначала будет форматировать число с запятыми), после чего мы заменим все запятые на '
.
Примечание: выше предполагает, что вы хотите поставить '
характер, где запятая будет. Если вы после чего-то еще (например, просто поместите один '
после первого символа"), вы можете манипулировать и возвращать входные данные, как и любую строку javascript.
Удаление запятых аналогично: {{ myNumber | number:1 | noComma }}
{{ myNumber | number:1 | noComma }}
{{ myNumber | number:1 | noComma }}
который будет включать (округленное) одиночное десятичное число, тогда вы можете сделать фильтр noComma
заменяющим все ,
с ''
.
Два способа сделать то, что вы хотите:
app.filter('numberformat', function ($filter) { return function (item) { var ret=item.toString().replace(",",""); return ret; }; });
и используйте его так:
NumberFormat}}
или если существует локальный, вы можете импортировать его в свой проект:
и импортировать его в ваше приложение рядом: <script src="i18n/angular-locale_de-de.js"></script>