Khác nhau giữa decimal, float và double trong .NET

Mọi người cho em hỏi các kiểu dữ liệu decimal, floatdouble trong .NET khác nhau như thế nào?

Được hỏi 1 năm trước
Bình chọn bởi: Hanh Kute, Hoang Anh, Vũ Văn Tân, Phúc Lê, Huyền Cool, Kim Hani, Lê Trung, Yanell Bự, Hữu Hạnh, Duc Otore, Hanh Nguyen, Truc Le, Đăng Duy

Về độ chính xác:

float flt = 1F/3;
double dbl = 1D/3;
decimal dcm = 1M/3;
Console.WriteLine("float: {0} double: {1} decimal: {2}", flt, dbl, dcm);

Kết quả:

float: 0.3333333  
double: 0.333333333333333  
decimal: 0.3333333333333333333333333333

Về phạm vi giá trị

float:    -3.402823e38          -> 3.402823e38
double:   -1.79769313486232e308 -> 1.79769313486232e308
decimal:  ±1.0 × 10e−28         -> ±7.9 × 10e28

Về tốc độ xử lý (nhanh hơn đứng trước)

float > double > decimal

Về ứng dụng:

  • float/double được sử dụng trong các phép tính toán số thực thông thường
  • decimal được sử dụng để tính toán các ứng dụng tiền tệ (vì độ chính xác cao và phạm vi giá trị lớn)
Trả lời 1 năm trước
Bình chọn bởi: Nguyễn Đạt, Nicky J, Hoang Pham

Thêm Trả Lời