01/10/2018, 14:25
Share Code đọc số thành chữ, - số lớn bao nhiêu cũng cân tất
Chia sẻ anh em code c# đọc số.
#Những giờ rảnh rỗi trên công ty
public string ToText(string str)
{
string[] word = { "", " một", " hai", " ba", " bốn", " năm", " sáu", " bẩy", " tám", " chín" };
string[] million = { "", " mươi", " trăm", "" };
string[] billion = { "", "", "", " nghìn", "", "", " triệu", "", "" };
string result = "{0}";
int count = 0;
for (int i = str.Length - 1; i >= 0; i--)
{
if (count > 0 && count % 9 == 0)
result = string.Format(result, "{0} tỷ");
if(!(count < str.Length - 3&&count>2 && str[i].Equals('0')&& str[i - 1].Equals('0')&& str[i - 2].Equals('0')))
result = string.Format(result, "{0}"+ billion[count%9]);
if (!str[i].Equals('0'))
result = string.Format(result, "{0}" + million[count%3]);
else if(count%3 ==1 && count >1 && !str[i-1].Equals('0') && !str[i + 1].Equals('0'))
result = string.Format(result, "{0} lẻ");
var num = Convert.ToInt16(str[i].ToString());
result = string.Format(result, "{0}" + word[num]);
count++;
}
result = result.Replace("{0}", "");
return result.Trim();
}
Bài liên quan