Làm tròn số trong C++ bằng hàm round | Laptrinhcanban.com

Làm tròn số trong C++ bằng hàm round

Hướng dẫn cách làm tròn số trong c++. Bạn sẽ học được các sử dụng hàm round() để làm tròn số trong c++, cách làm tròn 2 chữ số trong c++ cũng là cách lấy 2 số sau dấu phẩy trong c++ trong bài học này.

Làm tròn số bằng hàm round trong C++

Hàm round là một hàm thành viên trong thư viện chuẩn math.h, là hàm làm tròn số trong C++, có tác dụng trả về một số nguyên gần nhất được làm tròn từ số chỉ định.

Cú pháp làm tròn số trong C++ bằng hàm round như sau:

round(x);

Trong đó x là số cần làm tròn. Giá trị của x có thể thuộc bất kỳ kiểu số nào trong C++, ví dụ như là double, float hay long double chẳng hạn.

Hàm round sẽ trả về kết quả làm tròn là số nguyên gần nhất với số chỉ định. Điều đó có nghĩa số chỉ định sẽ được tròn lên 1 đơn vị nếu phần thập phân >= 5 và lượt bỏ phần thập phân nếu < 5.

Ví dụ cụ thể, hãy cùng xem cách hàm round() làm tròn số với các kiểu số khác nhau trong C++ như dưới đây:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int a = 11;
cout << round(a) << endl; //11

float b = 11.16;
cout << round(b) << endl; //11

float c = 11.66666;
cout << round(c) << endl; //12

double d = 11.66666;
cout << round(d) << endl; //12

long double e = 11.66666;
cout << round(e) << endl; //12

}

Làm tròn 2 chữ số trong C++ | lấy 2 số sau dấu phẩy trong C++

Ứng dụng hàm round(), chúng ta có thể biến tấu chương trình để làm tròn 2 chữ số trong c++ hay còn gọi là lấy 2 số sau dấu phẩy trong c++.

Hàm round() vốn có tác dụng làm tròn một số trong C++ theo quy tắc, nếu phần thập phân của số lớn hơn hoặc bằng 5 thì làm tròn lên, và nếu nhỏ hơn 5 thì làm tròn xuống.

Tuy nhiên hàm round chỉ có tác dụng làm tròn thành số nguyên, do vậy nếu muốn lấy 2 số sau dấu phẩy của một số chỉ định, chúng ta cần phải tăng số đó lên 10^2 (bằng 100) lần để làm tròn kết quả, sau đó mới giảm số đó 10^2 lần để có thể lấy được số ban đầu với 2 số sau dấu phẩy.

Và chúng ta sử dụng cú pháp này để làm tròn 2 chữ số trong c++(lấy 2 số sau dấu phẩy trong c++ ) như sau:

round(num * 100) / 100 ;

Trong đó num là số cần làm tròn 2 chữ số.

Ví dụ cụ thể:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
double num = 12.3456;
cout << round(num * 100) / 100 ; //12.35
}

Rất là đơn giản phải không nào.

Làm tròn n chữ số trong C++

Ngoài việc làm tròn 2 chữ số trong C++, chúng ta cũng có thể tùy ý làm trong n chữ số trong C++ cũng bằng hàm round bằng cách tự tạo hàm làm tròn n chữ số trong C++ như sau:

#include <iostream>
#include <math.h>
using namespace std;

/*Tạo hàm làm tròn n chữ số trong C++*/
double take_decimal_number(double num, int n){
int base = pow(10,n);
double result = round(num * base) /base;


return result;
}
int main()
{
double num = 124.4677;

cout << take_decimal_number(num, 2) <<endl;
cout << take_decimal_number(num, 3) <<endl;
return 0;
}

Kết quả:

124.47
124.468

Lưu ý là kiểu trả về của hàm phải ở dạng số thực như double hay float, để có thể trả về kết quả bao gồm cả chữ số thập phân trong nó.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách làm tròn số trong C++ bằng hàm round rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.