Hướng dẫn cách chuyển chuỗi thành số trong C++. Bạn sẽ học được cách sử dụng hàm scout << () và itoa() để **chuyển chuỗi thành số trong C++** sau bài học này.
Chúng ta có 3 phương pháp để chuyển chuỗi thành số trong C++ như sau:
- Hàm atoi(): Chuyển string sang int trong C++
- Hàm atol(): Chuyển string sang long trong C++
- Hàm atof(): Chuyển string sang float trong C++
Tóm Tắt
Chuyển string sang int trong C++ | hàm atoi()
Hàm atoi() là một hàm có sẵn trong header file cstdlib, giúp chúng ta chuyển string sang int trong C++.
Chúng ta sử dụng hàm strcpy() để chuyển string sang int với cú pháp sau đây:
atoi(str)
Trong đó str
là chuỗi cần chuyển thành số.
Nếu chuỗi chỉ định có thể chuyển sang int thì hàm atoi() sẽ chuyển chuỗi đó sang kiểu số nguyên. Tuy nhiên nếu chuỗi đó không thể chuyển sang kiểu số nguyên int thì giá trị 0
sẽ được trả về.
Lại nữa, trong trường hợp chuỗi chỉ định chứa cả thành phần có thể và không thể chuyển sang kiểu int thì hàm atoi() sẽ chỉ chuyển phần string có thể chuyển thành int tính từ đầu chuỗi mà thôi.
Và nếu như ở đầu chuỗi chỉ định chứa ký tự trắng (dấu cách, tab hay xuống dòng) thì hàm atoi() sẽ bỏ qua chúng cho tới khi tìm thấy ký tự khác ký tự trắng đầu tiên xuất hiện.
Và chúng ta cần phải viết thêm dòng #include <cstdlib>
để load header file cstdlib để có thể sử dụng được hàm atoi() trong chuơng trình.
Ví dụ cụ thể:
using
namespace
std
;int
main
()
{
char
str0[] ="123"
;
char
str1[] ="123"
;
char
str2[] ="-123ab"
;
char
str3[] =" \n\t123ab"
;
char
str4[] ="a123b"
;
int
num0 = atoi(str0);
int
num1 = atoi(str1);
int
num2 = atoi(str2);
int
num3 = atoi(str3);
int
num4 = atoi(str4);
cout
<< str0<<" => "
<< num0 <<endl
;
cout
<< str1<<" => "
<< num1 <<endl
;
cout
<< str2<<" => "
<< num2 <<endl
;
cout
<< str3<<" => "
<< num3 <<endl
;
cout
<< str4<<" => "
<< num4 <<endl
;
return
0
;}
Kết quả:
123 => 123
123 => 123
-123ab => -123
123ab => 123
a123b => 0
Chuyển string sang long trong C++
Tương tự như với hàm atoi() thì chúng ta có các hàm atol() để chuyển string sang long trong C++.
Cú pháp và cách sử dụng của hàm này thì hoàn toàn tương tự như với hàm atoi() như sau:
atol(str)
Ví dụ cụ thể:
using
namespace
std
;int
main
()
{
long
val;
char
str[20
];
strcpy
(str,"11111.22abac"
);val = atof(str);
cout
<< str <<" => "
<< val;
return
(0
);}
Chuyển string sang float trong C++
Tương tự như với hàm atoi() thì chúng ta có các hàm atof() để chuyển string sang float trong C++.
Cú pháp và cách sử dụng của hàm này thì hoàn toàn tương tự như với hàm atoi() như sau:
atoi(str)
Ví dụ cụ thể:
using
namespace
std
;int
main
()
{
float
val;
char
str[20
];
strcpy
(str,"11.22abac"
);val = atof(str);
cout
<< str <<" => "
<< val;
return
(0
);}
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn cách chuyển chuỗi thành số trong C++ 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.
mojiretsu6.html)
mojiretsu6.html)