Converting a number into its equalant value in words in Java
By: Ganesh Iyer
In this tutorial, i will explain how a number can be converted to its value as a word using Java. If you are wondering how and where this can be used, take the example of Money values. If the Amount is in numbers and you would like to convert the amount in words then this program will be useful for you.
/* Author - Ganesh Iyer
Program - Displaying the input
number into words
Written on - 06-06-2009 */
class constNumtoLetter
{
String[] unitdo ={"", " One", " Two", " Three", "
Four", " Five",
" Six", " Seven", " Eight", "
Nine", " Ten", " Eleven", " Twelve",
" Thirteen", " Fourteen", "
Fifteen", " Sixteen", " Seventeen",
" Eighteen", " Nineteen"};
String[] tens = {"", "Ten", " Twenty", "
Thirty", " Forty", " Fifty",
" Sixty", " Seventy", " Eighty","
Ninety"};
String[] digit = {"", " Hundred", " Thousand", "
Lakh", " Crore"};
int r;
//Count the number of digits in the input number
int numberCount(int num)
{
int cnt=0;
while (num>0)
{
r = num%10;
cnt++;
num = num /
10;
}
return cnt;
}
//Function for Conversion of two digit
String twonum(int numq)
{
int numr, nq;
String ltr=\"";
nq = numq / 10;
numr = numq % 10;
if (numq>19)
{
ltr=ltr+tens[nq]+unitdo[numr];
}
else
{
ltr =
ltr+unitdo[numq];
}
return ltr;
}
//Function for Conversion of three digit
String threenum(int numq)
{
int
numr, nq;
String
ltr = "";
nq =
numq / 100;
numr =
numq % 100;
if (numr
== 0)
{
ltr = ltr + unitdo[nq]+digit[1];
}
else
{
ltr = ltr +unitdo[nq]+digit[1]+" and"+twonum(numr);
}
return
ltr;
}
}
class originalNumToLetter
{
public static void main(String[] args) throws
Exception
{
//Defining variables q is
quotient, r is remainder
int len, q=0, r=0;
String ltr = " ";
String Str = "Rupees";
constNumtoLetter n = new
constNumtoLetter();
int num =
Integer.parseInt(args[0]);
if (num <= 0)
System.out.println(\"Zero or Negative number not for conversion");
while (num>0)
{
len =
n.numberCount(num);
//Take
the length of the number and do letter conversion
switch
(len)
{
case 8:
q=num/10000000;
r=num%10000000;
ltr = n.twonum(q);
Str = Str+ltr+n.digit[4];
num = r;
break;
case 7:
case 6:
q=num/100000;
r=num%100000;
ltr = n.twonum(q);
Str = Str+ltr+n.digit[3];
num = r;
break;
case 5:
case 4:
q=num/1000;
r=num%1000;
ltr = n.twonum(q);
Str= Str+ltr+n.digit[2];
num = r;
break;
case 3:
if (len == 3)
r = num;
ltr = n.threenum(r);
Str = Str + ltr;
num = 0;
break;
case 2:
ltr = n.twonum(num);
Str = Str + ltr;
num=0;
break;
case 1:
Str = Str + n.unitdo[num];
num=0;
break;
default:
num=0;
System.out.println(\"Exceeding Crore....No conversion");
System.exit(1);
}
if (num==0)
System.out.println(Str+\" Only");
}
}
}
To Execute
java originalNumToLetter <INPUT>
Ex -
java originalNumToLetter 1234
Output
Rupees One Thousand Two Hundred and Thirty Four
Only
Archived Comments
1. L'occasion d'installer une caméra cachée sur Corwin.
View Tutorial By: camera caché at 2017-09-21 11:14:40
2. do you have a program that can accept floating numbers??
example:
Enter a numb
View Tutorial By: jhay at 2016-10-21 10:23:38
3. excelent logic.
View Tutorial By: naresh boorla at 2016-09-27 04:40:42
4. I need simple logic
View Tutorial By: AshLii MaHii at 2016-06-18 02:10:16
5. input 325
output :three two five
View Tutorial By: jyothi at 2015-12-16 09:17:30
6. really helpul........
pls mail me some more logical programs of java
View Tutorial By: senthil at 2013-08-19 17:53:02
7. Thanks a lot for valuable program.
But I am unable to use it in JSP..i mean how to pa
View Tutorial By: Kailash at 2012-07-30 10:09:12
8. thank for the code...
how to print same output in two lines
Number 120545
eg:On
View Tutorial By: Ajay at 2012-04-01 17:29:15
9. What is the \ in several of the string building statements.
i.e.
System.out.printl
View Tutorial By: rogerb at 2012-01-28 23:07:31
10. Thanks a ton Ganesh...
View Tutorial By: Anonymous at 2012-01-25 11:20:40
11. //Convert numbers to word as per Indian number system in java by if loop. It works up to 999999999.
View Tutorial By: Abhishek at 2011-09-05 10:42:20
12. really helpul........
pls mail me some more logical programs of java
thnxx a lot
View Tutorial By: shivani at 2010-07-17 01:47:30
13. Thanks alot.. it helped me a lot...
View Tutorial By: Sushmitha Rao at 2010-06-02 02:39:51
14. Thanks and easy to understand.....impressive logic...
View Tutorial By: Dj at 2009-11-26 13:33:34
Comment on this tutorial
- Data Science
- Android
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Related Tutorials
Java program to get location meta data from an image
Program using concept of byte long short and int in java
Update contents of a file within a jar file
Tomcat and httpd configured in port 8080 and 80
Count number of vowels, consonants and digits in a String in Java
Student marks calculation program in Java
Calculate gross salary in Java
Calculate average sale of the week in Java
Vector in Java - Sample Program