예제 #1
0
        public static string ByWords(this decimal so)
        {
            string str  = so.ToString("########################0");
            string str1 = "";

            try
            {
                if (str != "")
                {
                    str1 = (!(so == new decimal(0)) ? ReadNumber.Đọc_Số(ReadNumber.Tạo_Mảng_Số(str)) : "không "); // fix
                }
            }
            catch (Exception exception1)
            {
                try
                {
                    str1 = ReadNumber.Đọc_Số(ReadNumber.Tạo_Mảng_Số(str));
                }
                catch (Exception exception)
                {
                    str1 = "Tò te tí te ,số máy quí khách vừa gọi không có thật, xin vui lòng gọi lại số khác :D";
                }
            }
            return(ReadNumber.Viethoa(str1));
        }
예제 #2
0
        private static string Chục(string chuc)
        {
            string str  = "";
            char   chr  = chuc[1];
            int    num  = Convert.ToInt32(chr.ToString());
            int    num1 = Convert.ToInt32(chuc);

            if (num1 < 20)
            {
                if (num1 == 10)
                {
                    str = "mười";
                }
                else if (num1 == 11)
                {
                    str = "mười một";
                }
                else if (num1 != 15)
                {
                    chr = chuc[1];
                    str = string.Concat("mười ", ReadNumber.Đơn_Vị(chr.ToString()));
                }
                else
                {
                    str = "mười lăm";
                }
            }
            else if (num == 1)
            {
                chr = chuc[0];
                str = string.Concat(ReadNumber.Đơn_Vị(chr.ToString()), " mươi mốt");
            }
            else if (num == 5)
            {
                chr = chuc[0];
                str = string.Concat(ReadNumber.Đơn_Vị(chr.ToString()), " mươi lăm");
            }
            else if (num != 0)
            {
                chr = chuc[0];
                string str1 = ReadNumber.Đơn_Vị(chr.ToString());
                chr = chuc[1];
                str = string.Format("{0} mươi {1}", str1, ReadNumber.Đơn_Vị(chr.ToString()));
            }
            else
            {
                chr = chuc[0];
                str = string.Concat(ReadNumber.Đơn_Vị(chr.ToString()), " mươi"); // fix
            }
            if (chuc[0].ToString() == "0")
            {
                str = str.Replace(" mươi ", "");
                str = str.Replace("mười ", "");
            }
            return(str);
        }
예제 #3
0
        private static string Trăm(string tram)
        {
            char   chr;
            string str = "";
            int    num = Convert.ToInt32(tram);

            if (num == 0)
            {
                str = "";
            }
            else if (tram.Length == 1)
            {
                str = ReadNumber.Đơn_Vị(tram);
            }
            else if (tram.Length == 2)
            {
                str = ReadNumber.Chục(tram);
            }
            else if (num % 100 == 0)
            {
                chr = tram[0];
                str = string.Concat(ReadNumber.Đơn_Vị(chr.ToString()), " trăm "); // fix
            }
            else if (num < 100)
            {
                str = string.Concat("lẻ ", ReadNumber.Chục(tram.Substring(1).ToString()));
            }
            else if (!(tram[1].ToString() != "0"))
            {
                chr = tram[0];
                string str1 = ReadNumber.Đơn_Vị(chr.ToString());
                chr = tram[2];
                str = string.Format("{0} trăm lẻ {1}", str1, ReadNumber.Đơn_Vị(chr.ToString()));
            }
            else
            {
                chr = tram[0];
                str = string.Format("{0} trăm {1}", ReadNumber.Đơn_Vị(chr.ToString()), ReadNumber.Chục(tram.Substring(1).ToString()));
            }
            return(str);
        }
예제 #4
0
        private static string Đọc_Số(string[] arr)
        {
            string str    = "";
            string str1   = str;
            string str2   = str;
            string str3   = str;
            string str4   = str;
            string str5   = str;
            string str6   = str;
            string str7   = str;
            int    length = (int)arr.Length;

            while (length > 0)
            {
                if ((ReadNumber.Cấp_Tỉ <= 0 ? false : length < (int)arr.Length))
                {
                    str3 = string.Concat(str3, " tỉ ");
                }
                string[] strArrays = arr[length - 1].Split(new char[] { ',' });
                string   str8      = ReadNumber.Trăm(strArrays[0].ToString());
                switch ((int)strArrays.Length)
                {
                case 1:
                {
                    str6 = string.Concat(str8, str3);
                    break;
                }

                case 2:
                {
                    str5 = string.Format("{0} nghìn {1}{2}", str8, ReadNumber.Trăm(strArrays[1].ToString()), str3);
                    break;
                }

                case 3:
                {
                    int num = Convert.ToInt32(strArrays[0]);
                    str2 = str8;
                    if (num <= 0)
                    {
                        str2 = str8;
                    }
                    else
                    {
                        str2 = (num >= 100 ? string.Concat(str2, " triệu ") : string.Concat(str2.Replace(" lẻ ", ""), " triệu "));
                    }
                    str1 = ReadNumber.Trăm(strArrays[1]);
                    if (Convert.ToInt32(strArrays[1]) > 0)
                    {
                        str1 = string.Concat(str1, " nghìn ");
                    }
                    str4 = string.Concat(str2, str1, ReadNumber.Trăm(strArrays[2]), str3);
                    break;
                }
                }
                length--;
                str7 = string.Concat(str6, str5, str4, str7);
                string str9 = "";
                str4 = str9;
                str5 = str9;
                str6 = str9;
                str1 = str9;
                str2 = str9;
            }
            ReadNumber.Cấp_Tỉ = 0;
            return(str7);
        }