Module: BIẾN. ĐỊNH DẠNG ĐẦU RA


Problem

5/5

Độ chính xác đầu ra

Theory Click to read/hide

Thông số đầu ra
Để xuất giá trị thực, chỉ cần gọi phương thức Console.Write hoặc Console.WriteLine:
  gấp đôi a = 0,9999; Console.Write(a);  
Nhưng đôi khi bạn cần định dạng trước đầu ra của các giá trị, sẽ thuận tiện khi thực hiện việc này bằng cách sử dụng phương thức String.Format, để biết thêm chi tiết tại đây.
Đầu ra với độ chính xác nhất định
Để định dạng số phân số, bộ xác định f được sử dụng, số sau dấu phân cách cho biết có bao nhiêu ký tự sau dấu phân cách. gấp đôi a = 12,123; Console.WriteLine(String.Format("{0:f2}", a)); Kết quả sẽ là 12,12, nhưng nếu bạn sử dụng giá trị 0,9999, việc làm tròn không kiểm soát sẽ xảy ra và   1,00.

Do đó, thuật toán sau được sử dụng để loại bỏ các dấu thay vì làm tròn:
1) nhân giá trị ban đầu với 10, bao nhiêu lần tùy ý bạn để lại số thập phân;
2) sử dụng phương thức   Math.Truncate, chúng ta chỉ để lại phần nguyên;
3) chia giá trị kết quả cho 10, số lần bạn cần để lại số thập phân.

Ví dụ về đầu ra có độ chính xác hai thập phân: 
gấp đôi a = 0,9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2);
 
Loại dấu phân cách khi xuất kết quả (dấu chấm hoặc dấu phẩy) tùy thuộc vào cài đặt vùng của máy tính, do đó, để luôn sử dụng dấu chấm làm dấu phân cách, bạn cần thay đổi cài đặt vùng thành bất biến, kết quả ví dụ:
 
CultureInfo ci = new CultureInfo(""); gấp đôi a = 0,9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));

Problem

Viết chương trình in giá trị của một biến đến 2 chữ số thập phân.