• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

Convert number to words java

May 19, 2015 by Dhaval Dave

Write a code to Convert number to words . example  ip 15  op : fifteen

ip : 1234  op : one thousand and thirty four

Algorithm : When we detect a number at any place how to convert to a word. Obviously we need to store it.
See usage of Data Structure in java and Data Structure in c++ .
See usage of static string in java.

Step 1 ) Create array of ones[20] = {“zero”, “one”, “two”, …, “nineteen”};
Step 2) Create array of tens[10] = {“”, “ten”, “twenty”, …, “ninety”};
Step 3) Divide number by 1000, 100, 20 and convert it.
Step 4) Print it.

Convert number to words C++ solution

#include<iostream>
#include<string>
using namespace std;

string units [20] = {"","One ","Two ","Three ","Four ", "Five ","Six ","SEven ","Eight ","Nine ","Ten ","Eleven ", "Twelve ","Thirteen ","Fourteen ","Fifteen ","Sixteen ","Seventeen ","Eighteen ","Nineteen "};
string tens[] = {"","","Twenty ","Thirty ","Fourty ","Fifty ","Sixty ","Seventy ","Eighty ","Ninty "};
string digits[] = {"","","","Hundred ","Thousand ","Thousand ","Lakh ","Lakh ","Crore "};

string getOneDigit(int val, int index) { 
 if(val < 10) {
  string res = units[val];
  if(val != 0) {
    res = res + digits[index];
  }
  return res;
  }
  return "";
}

string getTensDigit(int val, int index) {
 if(val < 10) {
 string res = tens[val] + digits[index];
 return res;
 } 
 return "";
}

string getTwoDigit(int val, int index) {
 string res = ""; int temp = val;
 if(val < 20) {
  res = units[val] + res;
 }
 else {
  res = getOneDigit(val%10,0) + res;
  val = val /10;
  res = getTensDigit(val %10, 1) + res;
 }
 if(temp != 0) 
  res = res + digits[index];
  return res;
}

string convertToString(int n) {
 string result = "";
 int i = 1, r;
 while(n) {
 if(i != 3) {
   r = n %100;
   result = getTwoDigit(r,i) + result;
   n = n / 100;
   i = i+2;
 }
 else if(i == 3) {
   r = n %10;
   result = getOneDigit(r, i) + result;
   n = n / 10;
   i++;
 }
 }

 return result;
}
int main() {
 int n, t;
 cin>>t;
 while(t--) {
 cout<<"Entet the number to be converted: ";
 cin>>n;
 cout<<"Result : "<<convertToString(n)<<endl;
 }
 return 0;
}

Optimised Solution by : Rahul Goyal (B.Tech in CSE, Amrita School of Engineering)
See OP : https://ideone.com/FT5Rxv

Convert number to words java solution

Java solution with Scanner to word utility ,  which helps user  to input number  in this program.
See why we have used static string to initialize specialNames, tenseNames.

Check out this Best Java Programming Books 

import java.util.Scanner;
class TestClass {
 private static final String[] specialNames = {
 ""," thousand"," million"," billion"," trillion"," quadrillion",
" quintillion"
 };
 
 private static final String[] tensNames = {
 ""," ten"," twenty"," thirty"," forty"," fifty"," sixty"," seventy",
" eighty"," ninety"
 };
 
 private static final String[] numNames = {
 ""," one"," two"," three"," four"," five"," six"," seven"," eight",
 " nine"," ten"," eleven"," twelve"," thirteen"," fourteen"," fifteen",
 " sixteen"," seventeen"," eighteen"," nineteen"
 };
 
 private String convertLessThanOneThousand(int number) {
 String current;
 if (number % 100 < 20){
 current = numNames[number % 100];
 number /= 100;
 }
 else {
  current = numNames[number % 10];
  number /= 10;
  current = tensNames[number % 10] + current;
  number /= 10;
 }
  if (number == 0) return current;
  return numNames[number] + " hundred and" + current;
 }
 
public String convert(int number) {
if (number == 0) { return "zero"; }
  String prefix = ""; 
  if (number < 0) {
  number = -number;
  prefix = "negative";
 }

 String current = "";
 int place = 0;
 
  do {
  int n = number % 1000;
  if (n != 0){
  String s = convertLessThanOneThousand(n);
  current = s + specialNames[place] + current;
  }
  place++;
  number /= 1000;
 }   while (number > 0);
 
 return (prefix + current).trim();
 }
 
public static void main(String[] args) throws Exception {
  TestClass obj = new TestClass();
  Scanner sc = new Scanner(System.in);
  int n = sc.nextInt();
  System.out.println(obj.convert(n));
 }
}

Similar Articles

Filed Under: Flipkart Interview Questions, Hacker Earth Questions, Interview Questions, problem Tagged With: Java, string

Reader Interactions

Comments

  1. Rahul says

    September 19, 2015 at 10:17 pm

    I have a solution which I hope you all will like :

    //Wordify.. convert the number to a string

    #include
    #include
    using namespace std;

    string units [20] = {“”,”One “,”Two “,”Three “,”Four “, “Five “,”Six “,”SEven “,”Eight “,”Nine “,”Ten “,”Eleven “, “Twelve “,”Thirteen “,”Fourteen “,”Fifteen “,”Sixteen “,”Seventeen “,”Eighteen “,”Nineteen “};

    string tens[] = {“”,””,”Twenty “,”Thirty “,”Fourty “,”Fifty “,”Sixty “,”Seventy “,”Eighty “,”Ninty “};

    string digits[] = {“”,””,””,”Hundred “,”Thousand “,”Thousand “,”Lakh “,”Lakh “,”Crore “};

    string getOneDigit(int val, int index) {
    if(val < 10) {
    string res = units[val];
    if(val != 0) {
    res = res + digits[index];
    }
    return res;
    }
    return "";
    }

    string getTensDigit(int val, int index) {
    if(val < 10) {
    string res = tens[val] + digits[index];
    return res;
    }
    return "";
    }

    string getTwoDigit(int val, int index) {
    string res = ""; int temp = val;
    if(val >t;
    while(t–) {
    cout<>n;
    cout<<"Result : "<<convertToString(n)<<endl;
    }
    return 0;
    }

  2. anil bhaskar says

    January 24, 2016 at 4:56 pm

    Very simple solution using recursion.
    Please check out here https://github.com/bhaskey/digitoword

Trackbacks

  1. Urban Ladder Written Test. - GoHired says:
    May 19, 2015 at 7:54 pm

    […] 2) Wordify […]

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

Find shortest distances between every pair of vertices ( Dynamic Programming Floyd Warshall Algorithm)

Maximum path sum between two leaves

DFS (Depth First Search)

Connect n ropes with minimum cost

Given a sorted array and a number x, find the pair in array whose sum is closest to x

Length of the longest substring without repeating characters

LeetCode: Binary Tree Maximum Path Sum

Print vertical sum of all the axis in the given binary tree

Reversal of LinkedList

Printing intermediate Integers between one element & next element of array

Get K Max and Delete K Max in stream of incoming integers

Implement a generic binary search algorithm for Integer Double String etc

Get Minimum element in O(1) from input numbers or Stack

Linked List V/S Binary Search Tree

Best Java Book | Top Java Programming Book for Beginners

CodeChef Code SGARDEN

ADOBE Aptitude C Language Test

N Petrol bunks or City arranged in circle. You have Fuel and distance between petrol bunks. Is it possible to find starting point so that we can travel all Petrol Bunks

Generic Object Oriented Stack with Template

Find Nearest Minimum number in left side in O(n)

Add Sub Multiply very large number stored as string

Number of Islands BFS/DFS

Spanning Tree

Find the number ABCD such that when multipled by 4 gives DCBA.

Interfaces in C++ (Abstract Classes in C++)

Find if a binary tree is height balanced ?

1014 Practice Question of New GRE – Princeton

Subset Sum Problem Dynamic programming

Skiing on Mountains Matrix

Common Ancestor in a Binary Tree or Binary Search Tree

Copyright © 2026 · Genesis Framework · WordPress · Log in