Cách làm tròn số trong C# bằng hàm Math.Round
Trong bài viết này mình sẽ hướng dẫn các bạn cách làm tròn số trong C#. Đây là một vấn đề thường gặp khi làm việc với các con số, nhất là trong các bài toán liên quan đế tính toán.
Mình sẽ thực hiện làm tròn số theo nhiều cách khác nhau để các bạn có thể tham khảo và so sánh. Cụ thể có làm tròn số tùy ý, làm tròn lên, làm tròn xuống, ....
Làm tròn với số thập phân tùy ý trong C#
Để làm tròn với số thập phân tùy ý, ta sử dụng hàm Math.Round()
trong thư viện Math.
Trong đó: a là số cần làm tròn và b là số chữ số thập phân muốn làm tròn.
Bài viết này được đăng tại [free tuts .net]
Ví dụ: Math.Round(10.4531, 2), khi đó 10.4531 là số cần làm tròn và làm tròn lên 2 chữ số. Như vậy kết quả sẽ là 10.45.
using System; namespace BaiTapCSharp { class Program { static void Main(string[] args) { //khai báo biến a, b, c là các số cần làm trong double a, b, c; //yêu cầu người dùng nhập vào số cần làm tròn Console.Write("\n Nhap vao so thu nhat: "); a = Convert.ToDouble(Console.ReadLine()); Console.Write("\n Nhap vao so thu hai: "); b = Convert.ToDouble(Console.ReadLine()); Console.Write("\n Nhap vao so thu ba: "); c = Convert.ToDouble(Console.ReadLine()); //hiển thị các số sau khi đã làm tròn Console.WriteLine("\n So {0} sau khi lam tron hai chu so thap phan la: {1}",a , Math.Round(a,2)); Console.WriteLine("\n So {0} sau khi lam tron ba chu so thap phan la: {1}", b , Math.Round(b,3)); Console.WriteLine("\n So {0} sau khi lam tron bon chu so thap phan la: {1}", c , Math.Round(c,4)); Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---"); } } }
Kết quả:
Làm tròn không phần thập phân trong C#
Để làm tròn không cần phần thập phân, ta cũng sẽ sử dụng hàm Math.Round()
nhưng thay đổi một chút là không điền số chữ số thập phân nữa.
Ví dụ:
using System; namespace BaiTapCSharp { class Program { static void Main(string[] args) { //khai báo biến a, b, c là các số cần làm trong double a, b, c; //yêu cầu người dùng nhập vào số cần làm tròn Console.Write("\n Nhap vao so thu nhat: "); a = Convert.ToDouble(Console.ReadLine()); Console.Write("\n Nhap vao so thu hai: "); b = Convert.ToDouble(Console.ReadLine()); Console.Write("\n Nhap vao so thu ba: "); c = Convert.ToDouble(Console.ReadLine()); //hiển thị các số sau khi đã làm tròn Console.WriteLine("\n So {0} sau khi lam tron la: {1}",a , Math.Round(a)); Console.WriteLine("\n So {0} sau khi lam tron la: {1}",b , Math.Round(b)); Console.WriteLine("\n So {0} sau khi lam tron la: {1}",c , Math.Round(c)); Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---"); } } }
Kết quả:
Làm tròn xuống trong C#
Để làm tròn xuống trong C#, ta sử dụng hàm Math.Floor()
với một tham sô truyền vào.
Ví dụ:
using System; namespace BaiTapCSharp { class Program { static void Main(string[] args) { //khai báo biến a, b, c là các số cần làm trong double a, b, c; //yêu cầu người dùng nhập vào số cần làm tròn Console.Write("\n Nhap vao so thu nhat: "); a = Convert.ToDouble(Console.ReadLine()); Console.Write("\n Nhap vao so thu hai: "); b = Convert.ToDouble(Console.ReadLine()); Console.Write("\n Nhap vao so thu ba: "); c = Convert.ToDouble(Console.ReadLine()); //hiển thị các số sau khi đã làm tròn Console.WriteLine("\n So {0} sau khi lam tron xuong la: {1}",a , Math.Floor(a)); Console.WriteLine("\n So {0} sau khi lam tron xuong la: {1}", b , Math.Floor(b)); Console.WriteLine("\n So {0} sau khi lam tron xuong la: {1}", c , Math.Floor(c)); Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---"); } } }
Kết quả:
Làm tròn lên trong C#
Để làm trong lên trong C#, ta sử dụng hàm Math.Ceiling()
với một tham số truyền vào.
Ví dụ:
using System; namespace BaiTapCSharp { class Program { static void Main(string[] args) { //khai báo biến a, b, c là các số cần làm trong double a, b, c; //yêu cầu người dùng nhập vào số cần làm tròn Console.Write("\n Nhap vao so thu nhat: "); a = Convert.ToDouble(Console.ReadLine()); Console.Write("\n Nhap vao so thu hai: "); b = Convert.ToDouble(Console.ReadLine()); Console.Write("\n Nhap vao so thu ba: "); c = Convert.ToDouble(Console.ReadLine()); //hiển thị các số sau khi đã làm tròn Console.WriteLine("\n So {0} sau khi lam tron len la: {1}",a , Math.Ceiling(a)); Console.WriteLine("\n So {0} sau khi lam tron len la: {1}", b , Math.Ceiling(b)); Console.WriteLine("\n So {0} sau khi lam tron len la: {1}", c , Math.Ceiling(c)); Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---"); } } }
Kết quả:
Như vậy là chúng ta đã thực hiện xong các chương trình làm tròn số trong C#. Đây là các kiến thức rất quan trọng trong lập trình, vì vậy các bạn hãy nhớ kỹ nó nhé, chúc các bạn thành công !!!