Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Convert number to arabic(Hindi) format with text | Excel Programming | |||
Convert number to arabic(Hindi) format with text | Excel Programming | |||
How to convert Arabic number to english text (63 to SIXTY THREE) | Excel Worksheet Functions | |||
Convert arabic number to english text | Excel Discussion (Misc queries) | |||
converting an arabic number into a spellout text | Excel Worksheet Functions |