Number to Word Apex Code

Public Class NumberToWordClass
{
  public String ru{get;set;}
  public Void NumberToWord(Integer no)
    {
       
      
        ru='';
        String[] word = new List<String>
        {
           '',' ONE ',' TWO ',' THREE ',' FOUR ',' FIVE ',' SIX ',' SEVEN ',' EIGHT ',' NINE ',' TEN ',
          ' ELEVEN ',' TWELVE ',' THIRTEEN ',' FOURTEEN ',' FIFTEEN ',' SIXTEEN ',' SEVENTEEN ',' EIGHTEEN ',' NINETEEN '
        };
        String[] tens = new List<String>
        {
        '','','TWENTY','THIRTY','FORTY','FIFTY','SIXTY','SEVENTY','EIGHTY','NINETY'
        };

          Integer n1,n2;
          n1=math.mod(no,100);
          if(n1>0)
          {
              if(n1<=19)
              {
                  ru=word.get(n1);
              }
              else if(n1>19)
              {
                  ru=tens.get(n1/10)+word.get(math.mod(n1,10));
                  system.debug('ru***'+ru);
              }
          }
          n1=math.mod((no/100),10);
          if(n1>0)
          {
              if(n1<=19)
              {
                  ru=word.get(n1)+' HUNDRED AND '+ru;
                  system.debug('ru***'+ru);
              }
          }
          n1=math.mod((no/1000),100);
          if(n1>0)
          {
              if(n1<=19)
              {
                  ru=word.get(n1)+' THOUSAND '+ru;
                   system.debug('ru***'+ru);
              }
              else if(n1>19)
              {
                  ru=tens.get(n1/10)+' '+word.get(math.mod(n1,10))+' THOUSAND '+ru;
                   system.debug('ru***'+ru);
              }
          }
          n1=math.mod((no/100000),100);
          if(n1>0)
          {
              if(n1<=19)
              {
                  ru=word.get(n1)+' LAKH '+ru;
                  system.debug('ru***'+ru);
              }
              else if(n1>19)
              {
                  ru=tens.get(n1/10)+' '+word.get(math.mod(n1,10))+' LAKH '+ru;
                   system.debug('ru***'+ru);
              }
          }
          n1=math.mod((no/10000000),100);
          if(n1>0)
          {
              if(n1<=19)
              {
                  ru=word.get(n1)+' CRORE '+ru;
                  system.debug('ru***'+ru);
              }
              else if(n1>19)
              {
                  ru=tens.get(n1/10)+' '+word.get(math.mod(n1,10))+' CRORE '+ru;
                   system.debug('ru***'+ru);
              }
         
         }
         if(ru.endswith('AND '))
         {
            
             ru = ru.substring(0,ru.length()-4);
              system.debug('ru***'+ru);
          }
    }
    
   
}




Open the Developer Console and Test


NumberToWordClass obj = new NumberToWordClass();
obj.NumberToWord(125520);


OutPut: ONE  LAKH TWENTY  FIVE  THOUSAND  FIVE  HUNDRED AND TWENTY

Comments

Popular posts from this blog

Salesforce Spring 16 Release Exam (Maintenance Exam Q&A) for Developer 201 Admin

Show Hyper Link On Add Error in Salesforce Trigger

Show the Success Message before Redirecting the Detail page on Visualforce Page