Guest User

Untitled

a guest
Oct 18th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. app.filter('comma2decimal', [
  2. function() { // should be altered to suit your needs
  3. return function(input) {
  4. var ret=(input)?input.toString().trim().replace(",","."):null;
  5. return parseFloat(ret);
  6. };
  7. }]);
  8.  
  9. app.filter('decimal2comma', [
  10. function() {// should be altered to suit your needs
  11. return function(input) {
  12. var ret=(input)?input.toString().replace(".",","):null;
  13. if(ret){
  14. var decArr=ret.split(",");
  15. if(decArr.length>1){
  16. var dec=decArr[1].length;
  17. if(dec===1){ret+="0";}
  18. }//this is to show prices like 12,20 and not 12,2
  19. }
  20. return ret;
  21. };
  22. }]);
  23.  
  24. app.directive('price', ['$filter',
  25. function($filter) {
  26. return {
  27. restrict:'A',
  28. require: 'ngModel',
  29. link: function(scope, element, attrs, ngModelController) {
  30. ngModelController.$parsers.push(function(data) {
  31. //convert data from view format to model format
  32.  
  33. data=$filter('comma2decimal')(data);
  34.  
  35. return data;
  36. });
  37.  
  38. ngModelController.$formatters.push(function(data) {
  39. //convert data from model format to view format
  40.  
  41. data=$filter('decimal2comma')(data);
  42.  
  43. return data;
  44. });
  45. }
  46. };}]);
  47.  
  48. <script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.5.0/angular-locale_en-us.min.js"></script>
  49.  
  50. app.filter('commaToDecimal', function(){
  51. return function(value) {
  52. return value ? parseFloat(value).toFixed(2).toString().replace('.', ',') : null;
  53. };
  54. });
  55.  
  56. DECIMAL_SEP:".",GROUP_SEP:","
  57.  
  58. DECIMAL_SEP:",",GROUP_SEP:"."
  59.  
  60. .filter('dot2comma', [
  61. function() {
  62. return function(value) {
  63. return value.toString().replace(/./g,',');
  64. };
  65. }]);
Add Comment
Please, Sign In to add comment