Skip to content
Snippets Groups Projects
Select Git revision
  • bcff339b2ef4da5c82c873331b86e70ed6df572b
  • master default
  • disable-new-requests
  • fix-bulletin-view-missing-notes-error
  • add-missing-queue-managers
  • projects-task-53
  • projects-task-51
  • projects-task-43
  • projects-task-24
  • projects-task-31
  • projects-task-32
  • projects-task-8
  • project-setup-docs
  • projects-task-28
  • projects-task-27
  • projects-task-9
  • projects-task-7
  • mass-update-course-codes-in-sections
  • wdn-four
  • learning-outcomes
  • additional-bulletin-pages
  • svn-redesign
  • svn-popups
  • svn-trunk
  • svn-performance
  • svn-tim
26 results

ViewController.php

Blame
  • index.html 3.67 KiB
    <!DOCTYPE html>
    <html>
    <head>
    	<title>How to convert number to words in Angularjs?</title>
    	<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
    </head>
    <body ng-app="MyApp">
    
    <div ng-controller="myFormController">
      <form name="myForm">
      Nominal Share Capital : <input type="text" ng-pattern="/^[0-9]*$/" ng-minlength=4 ng-model="nominalshare" name="nominalshare">
      <span style="color:red" ng-show="myForm.nominalshare.$error.pattern">Only Numbers are allowed</span>
      <span style="color:red" ng-show="myForm.nominalshare.$error.minlength">Value is too short</span>
    	<br>
    	Nominal Share in Words : <input ng-value="nominalshare | words" ng-disabled="!nominalshare">
    	<br>
    	Nominal Share Price : <input type="text" ng-pattern="/^[0-9]*$/" ng-disabled="!nominalshare" ng-model="price" name="price">
        <span style="color:red" ng-show="myForm.price.$error.pattern">Only Numbers are allowed</span>
        <br>
        Division : <input name="division" ng-pattern="/^[0-9]*$/" ng-disabled="!price" ng-value="(nominalshare)/(price)">
        <span style="color:red" ng-show="myForm.division.$error.pattern">Please type a divisible number in Nominal Share Price</span>
        <br>
        <input type="submit" ng-model="submit" ng-value="Submit" ng-disabled="!nominalshare">
        <br>
      </form>
    </div>
    
    <script type="text/javascript">
    
    	var MyApp = angular.module('MyApp',[]);
    MyApp.controller('myFormController',['$scope',function($scope){
      $scope.nominalshare='';
      $scope.division='';
    }]);
    
        MyApp.filter('words', function() {
          function isInteger(query) {
                return query % 1 === 0;
            }
    
    
          return function(value) {
            if (value && isInteger(value))
              return  covertWords(value);
    
            return value;
          };
    
        });
    
        var myappthos = ['','thousand','million', 'billion','trillion'];
        var myappdang = ['zero','one','two','three','four', 'five','six','seven','eight','nine'];
        var myapptenth = ['ten','eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];
        var myapptvew = ['twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];
    
        function covertWords(s)
        {
            s = s.toString();
            s = s.replace(/[\, ]/g,'');
            // if (parseFloat(s) === NaN) return 'not a number';
            var query = s.indexOf('.');
    		// if (parseInt(query) === NaN) return 'not a number';
            if (query == -1) query = s.length;
            //if (query < 4) return 'too small';
            var n = s.split('');
            var str = '';
            var mjk = 0;
            for (var ld=0; ld < query; ld++)
            {
                if ((query-ld)%3==2)
                {
                    if (n[ld] == '1')
                    {
                        str += myapptenth[Number(n[ld+1])] + ' ';
                        ld++;
                        mjk=1;
                    }
                    else if (n[ld]!=0)
                    {
                        str += myapptvew[n[ld]-2] + ' ';
                        mjk=1;
                    }
                }
                else if (n[ld]!=0)
                {
                    str += myappdang[n[ld]] +' ';
                    if ((query-ld)%3==0) str += 'hundred ';
                    mjk=1;
                }
    
                if ((query-ld)%3==1)
                {
                    if (mjk) str += myappthos[(query-ld-1)/3] + ' ';
                    mjk=0;
                }
            }
            if (query != s.length)
            {
                var dv = s.length;
                str += 'point ';
                for (var ld=query+1; ld<dv; ld++) str += myappdang[n[ld]] +' ';
            }
            return str.replace(/\s+/g,' ');
        }
    
        window.covertWords = covertWords;
    </script>
    
    </body>
    </html>