هذه الدالة تختص بعملية التفقيط لمن يحتاجها حيث يمكنه تحويل رقم مكون من 9999999.99
private string Tafgeet(Double Amount,string Curr,string SubCurr)
{
string Value=Math.Floor(Amount).ToString ();
string NewValue=null;
string[] Part1 =new string[10] {"","إحدي ","اثنا","ثلاث","أربعة","خمسة","ستة","سبعة","ثمانية","تسعة"};
string[] Part2 =new string[10] {"","عشر","عشرون","ثلاثون","أربعون","خمسون","ستون","سبعون","ثمانون","تسعون"};
string[] Part3 =new string[10] {"","مئة","مئان","ثلاث مائة","أربع مائة","خمس مائة","ست مائة","سبع مائة","ثمان مائة","تسع مائة"};
string[] Part4 =new string[10] {"","ألف","ألفان","ثلاثة آلاف","أربع آلاف","خمسة آلاف","ستة آلاف","سبع آلاف","ثمانية آلاف","تسعة آلاف"};
//---------------------------< ....... الملاييييييييييييين ........ >
if(Value.Length==7)
{
if(Value.Substring (0,1)=="1")
NewValue="مليون ";
else if(Value.Substring (0,1)=="2")
NewValue="مليونان ";
else
NewValue = Part1[int.Parse(Value.Substring (0,1))] + " ملايين";
Value=Value.Substring(1,Value.Length-1);
}
//------------------------------------< ....... مئات الألوف....... >
if(Value.Length==6)
{
NewValue += " " + Part3[int.Parse(Value.Substring (0,1))] + " و";
Value=Value.Substring(1,Value.Length-1);
}
//----------------------------------
if(Value.Length==5)
{
NewValue += " " + Part1[int.Parse(Value.Substring (1,1))];
NewValue += " و" + Part2[int.Parse(Value.Substring (0,1))] + " ألفا و";
Value=Value.Substring(1,Value.Length-1);
Value=Value.Substring(1,Value.Length-1);
}
//---------------------------------
if(Value.Length==4)
{
NewValue += " " + Part4[int.Parse(Value.Substring (0,1))];
Value=Value.Substring(1,Value.Length-1);
}
if(Value.Length==3)
{
NewValue += " " +Part3[int.Parse(Value.Substring (0,1))] + " و";
Value=Value.Substring(1,Value.Length-1);
}
//-----------------------------------
if(Value.Length>=1 && Value.Length<=2)
{
NewValue += Part1[int.Parse(Value.Substring (1,1))];
NewValue += " " + Part2[int.Parse(Value.Substring (0,1))];
Value=Value.Substring(1,Value.Length-1);
Value=Value.Substring(1,Value.Length-1);
}
NewValue += " " + Curr;
//الكسر العشري
string Real = Amount.ToString ("");
int Pos = Real.IndexOf('.',0,Real.Length);
if (Pos !=-1)
{
Pos ++;
try
{
string NewReal = (float.Parse (Real.Substring (Pos,Real.Length - Pos))).ToString ();
if(NewReal.Length==1)
NewValue += " و " + Part1[int.Parse(NewReal.Substring (0,1))];
else
{
NewValue += " و " + Part1[int.Parse(NewReal.Substring (1,1))];
NewValue += " و " + Part2[int.Parse(NewReal.Substring (0,1))];
}
NewValue += " " + SubCurr;
}
catch {}
}
return NewValue;
}
الاستدعاء
this.label1.Text = Tafgeet(Double.Parse (this.textBox1.Text),"دولار","سنت");