Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Convert Arabic Number to equivalent Arabic text

0.00/5 (No votes)
10 Jun 2004 1  
Convert Arabic number to equivalent Arabic text.

Sample Image

Introduction

My friend Hassan is a teacher and he is responsible for printing students' certificates where the certificates must contain a student's total degree written in Arabic. So he asked me for a program that accepts Arabic number and returns the equivalent Arabic text.

Using the code

At the first, Hassan proposed to check the input number directly, so his code looked like this:

if(num==0) output="Zero";
else if(num==1) output="One";//...and so on.

My idea is to divide the number to four sections:

    Num4 = (int)Number / 1000;
    Num5 = Number % 1000;//Num5=1000s

    Num1 = (int)Num5 / 100;
    Num0 = Num5%100;//Num0=100s

    Num2 = (int)Num0 / 10;//Num2=10s

    Num3 = Num0%10;//Num3=1s

So, we get count of ones in Num3, tens in Num2, hundreds in Num0 and thousands in Num5, and then we can compare each individual Num with its range:

Num3 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
Num2 (0, 10, 20, 30, 40, 50, 60, 70, 80, 90), 
Num0 (0, 100, 200, 300, 400, 500, 600, 700, 800, 900) 
And Num0 (0, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000)

At the end, we get a string which is an equivalent Arabic text, with 40 (if) clauses only.

You can use this code in any application like the demo project that comes with this tutorial:

private void textBox1_TextChanged(object sender, System.EventArgs e)
{
    lblNum.Text=NumToArabicString.NtoS(textBox1.Text);
}

Points of Interest

You can change Arabic strings to English strings or any language to get the same result.

Hints

Don't forget to enable Arabic script to your Windows to be able to view the code well.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here