Exemplo n.º 1
0
        public static decimal?GetAmortMonth(DateTime?Amort_Start_Date, DateTime?Amort_End_Date)
        {
            DateTime _StartDate = Amort_Start_Date.Value;
            DateTime _EndDate   = Amort_End_Date.Value;

            if (_StartDate.Date >= _EndDate.Date)
            {
                return(0);
            }

            decimal dayStart = _StartDate.AddMonths(1).AddDays(-(_StartDate.Day)).Day;
            decimal dayEnd   = _EndDate.AddMonths(1).AddDays(-(_EndDate.Day)).Day;

            decimal?_amortMonth = (dayStart - _StartDate.Day + 1) / dayStart +
                                  MyStaticClass.DateDiff(_StartDate, _EndDate) + (_EndDate.Day / dayEnd);

            return(Math.Round(_amortMonth.Value, 2));
        }
Exemplo n.º 2
0
        //2. Hàm đọc số thành chữ (Sử dụng hàm đọc số có ba chữ số)

        public static String DocTienBangChu(Double SoTien)
        {
            int    lan    = 0;
            int    i      = 0;
            Double so     = 0;
            String KetQua = "";
            String tmp    = "";
            var    ViTri  = new List <Double>()
            {
                0, 0, 0, 0, 0, 0, 0
            };

            if (SoTien < 0)
            {
                return("Số tiền âm");
            }
            if (SoTien == 0)
            {
                return("Không đồng");
            }
            if (SoTien > 0)
            {
                so = SoTien;
            }
            else
            {
                so = -SoTien;
            }
            if (SoTien > 8999999999999999)
            {
                //SoTien = 0;
                return("Số quá lớn!");
            }
            ViTri[5] = Math.Floor(so / 1000000000000000);
            so      -= ViTri[5] * 1000000000000000;
            ViTri[4] = Math.Floor(so / 1000000000000);
            so      -= ViTri[4] * 1000000000000;
            ViTri[3] = Math.Floor(so / 1000000000);
            so      -= ViTri[3] * 1000000000;
            ViTri[2] = so / 1000000;
            ViTri[1] = (so % 1000000) / 1000;
            ViTri[0] = so % 1000;
            if (ViTri[5] > 1)
            {
                lan = 5;
            }
            else if (ViTri[4] > 1)
            {
                lan = 4;
            }
            else if (ViTri[3] > 1)
            {
                lan = 3;
            }
            else if (ViTri[2] > 1)
            {
                lan = 2;
            }
            else if (ViTri[1] > 1)
            {
                lan = 1;
            }
            else
            {
                lan = 0;
            }
            for (i = lan; i >= 0; i--)
            {
                tmp     = MyStaticClass.DocSo3ChuSo((int)ViTri[i]);
                KetQua += tmp;
                if (ViTri[i] > 0)
                {
                    KetQua += Tien[i];
                }
                if ((i > 0) && (tmp.Length > 0))
                {
                    KetQua += " ";                             //&& (!string.IsNullOrEmpty(tmp))
                }
            }
            if (KetQua.Substring(KetQua.Length - 1) == " ")
            {
                KetQua = KetQua.Substring(0, KetQua.Length - 1);
            }
            KetQua = KetQua.Substring(1, 1).ToUpper() + KetQua.Substring(2);
            return(KetQua);//.substring(0, 1);//.toUpperCase();// + KetQua.substring(1);
        }