Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.filter('comma2decimal', [
- function() { // should be altered to suit your needs
- return function(input) {
- var ret=(input)?input.toString().trim().replace(",","."):null;
- return parseFloat(ret);
- };
- }]);
- app.filter('decimal2comma', [
- function() {// should be altered to suit your needs
- return function(input) {
- var ret=(input)?input.toString().replace(".",","):null;
- if(ret){
- var decArr=ret.split(",");
- if(decArr.length>1){
- var dec=decArr[1].length;
- if(dec===1){ret+="0";}
- }//this is to show prices like 12,20 and not 12,2
- }
- return ret;
- };
- }]);
- app.directive('price', ['$filter',
- function($filter) {
- return {
- restrict:'A',
- require: 'ngModel',
- link: function(scope, element, attrs, ngModelController) {
- ngModelController.$parsers.push(function(data) {
- //convert data from view format to model format
- data=$filter('comma2decimal')(data);
- return data;
- });
- ngModelController.$formatters.push(function(data) {
- //convert data from model format to view format
- data=$filter('decimal2comma')(data);
- return data;
- });
- }
- };}]);
- <script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.5.0/angular-locale_en-us.min.js"></script>
- app.filter('commaToDecimal', function(){
- return function(value) {
- return value ? parseFloat(value).toFixed(2).toString().replace('.', ',') : null;
- };
- });
- DECIMAL_SEP:".",GROUP_SEP:","
- DECIMAL_SEP:",",GROUP_SEP:"."
- .filter('dot2comma', [
- function() {
- return function(value) {
- return value.toString().replace(/./g,',');
- };
- }]);
Add Comment
Please, Sign In to add comment