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 [kiso.vn]
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 Kiso.vn---"); } } }
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.
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 Kiso.vn---"); } } }
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.
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 Kiso.vn---"); } } }
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.
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 Kiso.vn---"); } } }
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 !!!
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chínhLàm tròn với số thập phân tùy ý trong...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chínhLàm tròn với số thập phân tùy ý trong C#Làm tròn không phần thập phân trong C#Làm tròn xuống trong C#Làm tròn lên trong C#1. Khái niệm CSF: CSF (ConfigServer & Firewall) là...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chínhLàm tròn với số thập phân tùy ý trong C#Làm tròn không phần thập phân trong C#Làm tròn xuống trong C#Làm tròn lên trong C#V. Phân tích và khai thác các lỗ hổng...
Directory traversal vulnerabilities (phần 3)
Nội dung chínhLàm tròn với số thập phân tùy ý trong C#Làm tròn không phần thập phân trong C#Làm tròn xuống trong C#Làm tròn lên trong C#V. Phân tích và khai thác các lỗ hổng...
Directory traversal vulnerabilities (phần 2)
Nội dung chínhLàm tròn với số thập phân tùy ý trong C#Làm tròn không phần thập phân trong C#Làm tròn xuống trong C#Làm tròn lên trong C#III. Vì sao lỗ hổng Directory traversal xuất hiện?...