1. Trang chủ
  2. » Công Nghệ Thông Tin

Code đọc số sang chữ trong lập trình C# docx

6 1,4K 6

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 51 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Code đọc số sang chữ trong lập trình C#?Chào mọi người!. em đang học C#, em có tìm được đoạn code đọc số sang chữ, nhưng đọc vô không hiểu gì hết trơn.

Trang 1

Code đọc số sang chữ trong lập trình C#?

Chào mọi người!

em đang học C#, em có tìm được đoạn code đọc số sang chữ, nhưng đọc vô không hiểu gì hết trơn Mọi người giúp em giải thích ý nghĩa của từng đoạn code nha, cảm

ơn nhiều!

PHP Code:

using System;

using System.Collections.Generic;

using System.Text;

namespace VR

{

class Class1

{

private string[] strSo ={ "không", "một", "hai", "ba", "bốn", "n ăm", "sáu", "bảy", "tám", "chín" };

private string[] strDonViNho ={ "linh", "lăm", "mười", "mươi", " mốt", "trăm" };

private string[] strDonViLon ={ "", "ngàn", "triệu", "tỷ" }; private string[] strMainGroup;

private string[] strSubGroup;

private string Len1(string strA)

{

return strSo[int.Parse(strA)];

}

private string Len2(string strA)

{

if (strA.Substring( , 1) == "0")

{

return strDonViNho[ ] + " " + Len1(strA.Substring( , 1))

;

}

else if (strA.Substring( , 1) == "1")

{

if (strA.Substring( , 1) == "5")

{

return strDonViNho[ ] + " " + strDonViNho[ ];

}

else if (strA.Substring( , 1) == "0")

{

return strDonViNho[ ];

}

else

{

return strDonViNho[ ] + " " + Len1(strA.Substring( , 1));

}

}

else

{

if (strA.Substring( , 1) == "5")

{

return Len1(strA.Substring( , 1)) + " " + strDonViNh

o 3] + " " + strDonViNho[ ];

}

Trang 2

else if (strA.Substring( , 1) == "0")

{

return Len1(strA.Substring( , 1)) + " " + strDonViNh

o 3];

}

else if (strA.Substring( , 1) == "1")

{

return Len1(strA.Substring( , 1)) + " " + strDonViNh

o 3] + " " + strDonViNho[ ];

}

else

{

return Len1(strA.Substring( , 1)) + " " + strDonViNh

o 3] + " " + Len1(strA.Substring( , 1));

}

}

}

private string Len3(string strA)

{

if ((strA.Substring( , 3) == "000"))

{

return null;

}

else if ((strA.Substring( , 2) == "00"))

{

return Len1(strA.Substring( , 1)) + " " + strDonViNho[ ]

;

}

else

{

return Len1(strA.Substring( , 1)) + " " + strDonViNho[ ] + " " + Len2(strA.Substring( , strA.Length - 1));

}

}

/////////////////////

private string FullLen(string strSend)

{

bool boKTNull = false;

string strKQ ="";

string strA = strSend.Trim();

int iIndex = strA.Length - 9;

int iPreIndex = 0;

if (strSend.Trim() == "")

{

return Len1("0");

}

//tra ve khong neu la khong

for (int i = 0; i < strA.Length; i++)

{

if (strA.Substring( , 1) != "0")

{

break;

}

else if (i == strA.Length - 1)

{

return strSo[ ];

Trang 3

}

}

int k = 0;

while (strSend.Trim().Substring( ++, 1) == "0")

{

strA = strA.Remove( , 1);

}

//

if (strA.Length < 9)

{

iPreIndex = strA.Length;

}

//

if ((strA.Length % 9) != 0)

{

strMainGroup = new string[strA.Length / 9 + 1];

}

else

{

strMainGroup = new string[strA.Length / 9];

}

//nguoc

for (int i = strMainGroup.Length - 1; i >= 0; i )

{

if (iIndex >= 0)

{

iPreIndex = iIndex;

strMainGroup[ ] = strA.Substring(iIndex, 9);

iIndex -= 9;

}

else

{

strMainGroup[ ] = strA.Substring( , iPreIndex); }

}

/////////////////////////////////

//tach moi maingroup thanh nhieu subgroup

//xuoi

for (int j = 0; j < strMainGroup.Length; j++)

{

//gan lai gia tri

iIndex = strMainGroup[ ].Length - 3;

if (strMainGroup[ ].Length < 3)

{

iPreIndex = strMainGroup[ ].Length;

}

///

if ((strMainGroup[ ].Length % 3) != 0)

{

strSubGroup = new string[strMainGroup[ ].Length / 3 + 1];

}

else

{

strSubGroup = new string[strMainGroup[ ].Length / 3

;

Trang 4

}

for (int i = strSubGroup.Length - 1; i >= 0; i )

{

if (iIndex >= 0)

{

iPreIndex = iIndex;

strSubGroup[ ] = strMainGroup[ ].Substring(iInde

x, 3);

iIndex -= 3;

}

else

{

strSubGroup[ ] = strMainGroup[ ].Substring( , iP reIndex);

}

}

//duyet subgroup de lay string

for (int i = 0; i < strSubGroup.Length; i++)

{

boKTNull = false;//phai de o day

if ((j == strMainGroup.Length - 1) && (i == strSubGr oup.Length - 1))

{

if (strSubGroup[ ].Length < 3)

{

if (strSubGroup[ ].Length == 1)

{

strKQ +=Len1(strSubGroup[ ]);

}

else

{

strKQ += Len2(strSubGroup[ ]);

}

}

else

{

strKQ += Len3(strSubGroup[ ]);

}

}

else

{

if (strSubGroup[ ].Length < 3)

{

if (strSubGroup[ ].Length == 1)

{

strKQ += Len1(strSubGroup[ ]) + " "; }

else

{

strKQ += Len2(strSubGroup[ ]) + " "; }

}

else

{

if (Len3(strSubGroup[ ]) == null)

{

boKTNull = true;

Trang 5

}

else

{

strKQ += Len3(strSubGroup[ ]) + " "; }

}

}

//dung

if (!boKTNull)

{

if (strSubGroup.Length - 1 - i != 0)

{

strKQ += strDonViLon[strSubGroup.Length - 1

- i] + " ";

}

else

{

strKQ += strDonViLon[strSubGroup.Length - 1

- i] + " ";

}

}

}

//dung

if (j != strMainGroup.Length - 1)

{

if (!boKTNull)

{

strKQ = strKQ.Substring( , strKQ.Length - 1) + s trDonViLon[ ] + " ";

}

else

{

strKQ = strKQ.Substring( , strKQ.Length - 1) + "

" + strDonViLon[ ] + " ";

}

}

}

//xoa ky tu trang

strKQ = strKQ.Trim();

//xoa dau , neu co

if (strKQ.Substring(strKQ.Length - 1, 1) == ".")

{

strKQ = strKQ.Remove(strKQ.Length - 1, 1);

}

return strKQ;

////////////////////////////////////

}

public string Convert(string strSend, char charInSeparator, stri

ng strOutSeparator)

{

if (strOutSeparator == "")

{

return "Lỗi dấu phân cách đầu ra rỗng";

Trang 6

}

if (strSend == "")

{

return Len1("0");

}

string[] strTmp = new string[ ];

try

{

strTmp = strSend.Split(charInSeparator);

string strTmpRight = strTmp[ ];

for (int i = strTmpRight.Length - 1; i >= 0; i )

{

if(strTmpRight.Substring( , )=="0")

{

strTmpRight = strTmpRight.Remove( , );

}

else

{

break;

}

}

if (strTmpRight != "")

{

string strRight = "";

for (int i = 0; i < strTmpRight.Length; i++)

{

strRight += Len1(strTmpRight.Substring( , 1)) +

" ";

}

return FullLen(strTmp[ ]) + " " + strOutSeparator +

" " + strRight.TrimEnd();

}

else

{

return FullLen(strTmp[ ]);

}

}

catch

{

return FullLen(strTmp[ ]);

}

}

}

}

Ngày đăng: 08/08/2014, 20:20

TỪ KHÓA LIÊN QUAN

w