

วันนี้นั้งเขียนโปรเเกรมให้ป้า ป้าท่านขายเกี่ยวกับอุปกรณ์ไฟฟ้า
ตอนเเรกกะว่าจะใช้จาวาหรือ.net ดี สุดท้ายก็เลือก .net
เพราะมีเวลาห้าวัน พอดีอยากได้โค้ดเเปลงตัวเลขเป็นตัวหนังสือ
ของค่าเงิน ว่าจะให้ก๊อปให้เน็ตแต่วันนี้เน็ตดันเล่นไม่ได้ก็เลยนั้ง
เขียนเอง จำได้ว่าตอนเรียนปีสองอาจารย์เคยให้เขียน แต่พอจบ
แล้วมาทำงานทำไมรู้สึกว่าเขียนได้สวยงามเหมือนตอนที่เรียนเลย
มาดูโค้ดกันครับ
public static string ConvertMoneyToThaiText(string monery)
{
int dotIndex = monery.IndexOf('.');
string integer = "";
string point = "";
if (dotIndex > 0)
{
integer = monery.Substring(0, dotIndex);
point = monery.Substring(dotIndex + 1);
}
else
{
integer = monery;
}
string valDecimal = GetMoneyText(integer);
valDecimal += "บาท";
if (string.IsNullOrEmpty(point) == false)
{
valDecimal += GetMoneyText(point) + "สตางค์";
}
return valDecimal;
}
อันนี้ส่วนที่สองครับ
private static string GetMoneyText(string monery)
{
int length = monery.Length;
string value = "";
string result = "";
string numText = "";
string currPosition = "";
string valOfPosition = "";
for (int i = 0; i < length; i++)
{
currPosition = monery.Substring(i, 1);
valOfPosition = monery.Substring(i, monery.Length - i);
int num = Int32.Parse(currPosition);
if (num != 0)
{
numText = GetNumText(num);
value = GetValue(valOfPosition.Length);
if (valOfPosition.Length == 2)
{
numText = "ยี่";
}
}
result += numText + value;
numText = "";
value = "";
}
return result;
}
อันนี้ส่วนที่สามครับ
private static string GetNumText(int num)
{
switch (num)
{
case 1:
return "หนึ่ง";
case 2:
return "สอง";
case 3:
return "สาม";
case 4:
return "สี่";
case 5:
return "ห้า";
case 6:
return "หก";
case 7:
return "เจ็ด";
case 8:
return "เเปด";
case 9:
return "เก้า";
case 0:
return "ศูนย์";
default:
return "";
}
}
อันนี้ส่วนที่สี่ครับ
private static string GetValue(int length)
{
switch (length)
{
case 2:
return "สิบ";
case 3:
return "ร้อย";
case 4:
return "พัน";
case 5:
return "หมื่น";
case 6:
return "แสน";
case 7:
return "ล้าน";
case 8:
return "สิบล้าน";
case 9:
return "ร้อยล้าน";
case 10:
returnjavascript:void(0) "พันล้าน";
case 11:
return "หมื่นล้าน";
case 12:
return "แสนล้าน";
case 13:
return "ล้านล้าน";
default:
return "";
}
}
เป็นอันเสร็จเรียบร้อยลองรันดูผลที่ได้คือ
No comments:
Post a Comment