Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Hỏi về kiểu số int, float,... trong c# ?

08:38 25-05-2017 925 lượt xem 6 bình luận 23:14 25-05-2017

Với số tiền thanh toán < 1.000.000 thì chương trình THANH TOÁN được, còn lớn hơn thì xuất hiện "Thông Báo","Lỗi", lúc trước mình để kiểu int, sau đổi thành float, mà vẫn bị.

Code:/*

try
            {
                Room room = lvbill.Tag as Room;
                string mahoadon = BillDAO.Instance.getBillSoPhong(room.SoPhong);
                int discount = (int)nbrgiamgia.Value;
                TimeSpan ts;
                string a = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                ts = DateTime.Now - BillDAO.Instance.getngayvao(room.SoPhong);
                double tongchiphi = Convert.ToDouble(tbtongtien.Text.Split(',')[0])*1000;
                double chiphicuoicung = tongchiphi - (tongchiphi / 100) * discount + (int)ts.TotalSeconds * 16;
                if (mahoadon != null)
                {
                    if (MessageBox.Show("Thời gian kết thúc dịch vụ: " + a + Environment.NewLine + "Thời gian đã sử dụng là: " + ts + Environment.NewLine + "Chi phí thời gian sử dụng: " + (float)ts.TotalSeconds*16 + Environment.NewLine + "Mức giảm giá: " + discount + " %" + Environment.NewLine + "Tổng Thanh Toán: " + chiphicuoicung , "Thanh toán hóa cho Phòng " + room.SoPhong, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
                    {
                        BillDAO.Instance.checkout(mahoadon, discount, (float)chiphicuoicung);
                        ShowBill(room.SoPhong);
                        Loadroom();
                    }
                }
            }
            catch
            {
                MessageBox.Show("Lỗi", "Thông Báo");
            } 

*/

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
꧁༒Hell Demons༒꧂ đã bình luận 23:14 25-05-2017

Tiền tệ thì thường là dùng double hoặc decimal.

Muốn hiển thị format tiền, thì ngoài property biểu thị số tiền, nên có 1 property kiểu text dùng để hiển thị số tiền theo kiểu text, đừng tiết kiệm mà phải cất công convert qua lại nhé!

K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 09:06 25-05-2017

cái này có thể là tràn số chăng. bạn bỏ catch đi để nó thông báo lỗi cụ thể là gì nhé

nguyennhan.ninomaxx đã bình luận 10:24 25-05-2017

không biết có đúng ý bạn ko?

 

string test = "1.000.000";

double result = Convert.ToDouble(test.Replace(".", ""));

Câu hỏi mới nhất