LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 137
Default Help With Code:Arabic Number to Text

Hello,

Can some one help me to convert the following code to VBA
for posting purpose I have changed arabic text to english numbers,
since binary post is not allowed
using System;
/// <summary
/// it's a sealed class to convert int number (0-9999)
/// to Arabic string
/// </summary
public sealed class NumToArabicString
{
/// <summary
/// take int as string value and return Arabic string
/// </summary
public static string NtoS(string InputString)
{
if ((InputString.Length0)&&(InputString.Length<=4))
{
string F1, F2, F3, F4;
int Number,Num0, Num1, Num2, Num3,Num4,Num5;
F4 = "";
F3 = "";
F2 = "";
F1 = "";
Number=System.Convert.ToInt16(InputString);
if (Number = 0)
{
Num4 = (int)Number / 1000;
Num5 = Number % 1000;
Num1 = (int)Num5 / 100;
Num0 = Num5%100;
Num2 = (int)Num0 / 10;
Num3 = Num0%10;

switch(Num3)
{
case 1 : F1 = "for 1";
break;
case 2 : F1 = "for 2 ";
break;
case 3 : F1 = "for 3";
break;
case 4 : F1 = "for 4";
break;
case 5 : F1 = "for 5";
break;
case 6 : F1 = "for 6";
break;
case 7 : F1 = "for 7";
break;
case 8 : F1 = "for 8";
break;
case 9 : F1 = " for 9";
break;
default: F1 = "for 0";
break;
}
switch(Num2)
{
case 1 : F2 = "for 10";
break;
case 2 : F2 = "for 20 ";
break;
case 3 : F2 = "for 30";
break;
case 4 : F2 = "for 40";
break;
case 5 : F2 = "for 50";
break;
case 6 : F2 = "for 60";
break;
case 7 : F2 = "for 70";
break;
case 8 : F2 = "for 80";
break;
case 9 : F2 = "for 90";
break;
default: F2 = "for 0";
break;
}
if (Num2 != 0)
{
if ((Num2 == 1) && (Num3 != 0))
{
F1 = F1 + F2;
}
else
{
if ((Num3 !=0)&&( Num2 != 0))
{
F1 = F1 + " Ùˆ " + F2;
}
else if(Num2!=0)
{
F1 = F2;
}
}
}
switch(Num1)
{
case 1 : F3 = "for 100 ";
break;
case 2 : F3 = "for 200 ";
break;
case 3 : F3 = "for 300";
break;
case 4 : F3 = "for 400";
break;
case 5 : F3 = "for 500";
break;
case 6 : F3 = "FOR 600";
break;
case 7 : F3 = "for 700";
break;
case 8 : F3 = "for 800";
break;
case 9 : F3 = "for 900";
break;
default: F3 = "for 0";
break;
}

if ((Num1 0)&&( F1 !="for 0"))
{
F1 = F3 + " for and " + F1;
}
if((Num1 != 0)&&(Num2 == 0)&&(Num3 == 0))
{
F1 = F3;
}

switch (Num4)
{
case 1:F4 = "for 1000";
break;
case 2:F4 = "for 2000";
break;
case 3:F4 = "for 3000";
break;
case 4:F4 = "for 4000";
break;
case 5:F4 = "for 5000";
break;
case 6:F4 = "for 6000";
break;
case 7:F4 = "for 7000";
break;
case 8:F4 = "for 8000";
break;
case 9:F4 = "for 9000";
break;
default:F4 = "for 0";
break;
}
if((Num4 0)&&(F1 != "for 0"))
{
F1 = F4 + " for and " + F1;
}
if ((Num4 != 0) &&( Num1 == 0) &&( Num2 == 0)&&( Num3 == 0))
{
F1 = F4;
}
}
return F1;
}
return "";

}
/// <summary
/// take int and return Arabic string
/// </summary
public static string NtoS(Int16 number)
{
if((number=0)&&(number<=9999))
{
string F1, F2, F3, F4;
int Num0, Num1, Num2, Num3,Num4,Num5;
F4 = "";
F3 = "";
F2 = "";
F1 = "";
if (number = 0)
{
Num4 = (int)number / 1000;
Num5 = number % 1000;
Num1 = (int)Num5 / 100;
Num0 = Num5%100;
Num2 = (int)Num0 / 10;
Num3 = Num0%10;

switch(Num3)
{
case 1 : F1 = "for 1";
break;
case 2 : F1 = "for 2 ";
break;
case 3 : F1 = "for 3";
break;
case 4 : F1 = "for 4";
break;
case 5 : F1 = "for 5";
break;
case 6 : F1 = "for 6";
break;
case 7 : F1 = "for 7";
break;
case 8 : F1 = "for 8";
break;
case 9 : F1 = "for 9";
break;
default: F1 = "for 0";
break;
}
switch(Num2)
{
case 1 : F2 = "for 10";
break;
case 2 : F2 = "for 20 ";
break;
case 3 : F2 = "for 30";
break;
case 4 : F2 = "for 40";
break;
case 5 : F2 = "for 50";
break;
case 6 : F2 = "for 60";
break;
case 7 : F2 = "for 70";
break;
case 8 : F2 = "for 80";
break;
case 9 : F2 = "for 90";
break;
default: F2 = "for 0";
break;
}
if (Num2 != 0)
{
if ((Num2 == 1) && (Num3 != 0))
{
F1 = F1 + F2;
}
else
{
if ((Num3 !=0)&&( Num2 != 0))
{
F1 = F1 + " for and " + F2;
}
else if(Num2!=0)
{
F1 = F2;
}
}
}
switch(Num1)
{
case 1 : F3 = "for 100";
break;
case 2 : F3 = "for 200 ";
break;
case 3 : F3 = "for 300";
break;
case 4 : F3 = "fir 400";
break;
case 5 : F3 = "for 500";
break;
case 6 : F3 = "for 600";
break;
case 7 : F3 = "for 700";
break;
case 8 : F3 = "for 800";
break;
case 9 : F3 = "for 900";
break;
default: F3 = "for 0";
break;
}

if ((Num1 0)&&( F1 !="for 0"))
{
F1 = F3 + " for and " + F1;
}
if((Num1 != 0)&&(Num2 == 0)&&(Num3 == 0))
{
F1 = F3;
}

switch (Num4)
{
case 1:F4 = "for 1000";
break;
case 2:F4 = "for 2000";
break;
case 3:F4 = "for 3000";
break;
case 4:F4 = "for 4000";
break;
case 5:F4 = "for 5000";
break;
case 6:F4 = "for 6000";
break;
case 7:F4 = "for 7000";
break;
case 8:F4 = "for 8000";
break;
case 9:F4 = "for 9000";
break;
default:F4 = "for 0";
break;
}
if((Num4 0)&&(F1 != "for 0"))
{
F1 = F4 + " for and " + F1;
}
if ((Num4 != 0) &&( Num1 == 0) &&( Num2 == 0)&&( Num3 == 0))
{
F1 = F4;
}
}
return F1;
}
return "";
}

[STAThread]
static void Main(string[] args)
{
//
// TODO: Add code to start application here
//
}
}

 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Convert number to arabic(Hindi) format with text Abdul[_2_] Excel Programming 1 March 13th 07 12:30 PM
Convert number to arabic(Hindi) format with text Abdul[_2_] Excel Programming 0 March 13th 07 10:42 AM
How to convert Arabic number to english text (63 to SIXTY THREE) CHANDRA Excel Worksheet Functions 3 September 18th 06 06:16 PM
Convert arabic number to english text TSK Excel Discussion (Misc queries) 2 July 9th 05 10:24 AM
converting an arabic number into a spellout text Widodo Excel Worksheet Functions 3 April 18th 05 01:18 PM


All times are GMT +1. The time now is 12:32 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"