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.

Math.Round(a, b)

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ả:

Xem Thêm:   Hàm Set union() trong Python

bai37 02 png

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.

Round(a), trong đó a là số cần làm tròn

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ả:

bai37 01 png

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.

Math.Floor(a), trong đó a là số cần làm tròn

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ả:

Xem Thêm:   Tải sách giáo khoa tin học lớp 10 pdf

bai37 03 png

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.

Math.Ceiling(a), trong đó a là số cần làm tròn

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ả:

bai37 04 png

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 !!!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *