Lời khuyên của tôi: ngừng sử dụng double
ở địa điểm đầu tiên. Nếu bạn cần làm tròn số thập phân thì tỷ lệ cược là tốt, bạn nên sử dụng decimal
. Ứng dụng của bạn là gì?
Nếu bạn có một đôi, bạn có thể làm điều đó như thế này:
double r = whatever;
decimal d = (decimal)r;
decimal truncated = decimal.Truncate(d * 100m)/100m;
Lưu ý rằng kỹ thuật này sẽ thất bại nếu giá trị tuyệt đối của đôi lớn hơn 792281625142643375935439504, bởi vì nhân bởi 100 sẽ thất bại . Nếu bạn cần xử lý các giá trị lớn thì bạn sẽ cần phải sử dụng các kỹ thuật đặc biệt. (Tất nhiên, do thời gian một đôi được rằng lớn, bạn cũng vượt quá khả năng của mình để đại diện cho các giá trị với hai chữ số sau chữ số thập phân nơi anyway.)
Nguồn
2012-03-29 20:04:04
Nếu bạn làm việc trong * decimal * sau đó tại sao bạn lại sử dụng * double * khi bạn có thể sử dụng * decimal *? –
Bạn có thể truy cập bài đăng này và tìm nội dung phù hợp cho mình http://how-to-code-net.blogspot.ro/2012/09/how-to-format-number-to-x-decimal.html –