Home / hàm atoi() trong c
Hàm atoi() trong c
82
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 sprintf() 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 CHàm atol(): Chuyển string sang long trong CHàm atof(): Chuyển string sang float trong C
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 để load header file stdlib.h để có thể sử dụng được hàm atoi() trong chuơng trình.Ví dụ cụ thể:Copy#include #include int main(void){ /* Chuỗi chứa số nguyên int*/ char str0<> = "123"; /* Chuỗi chứa số thực có một phần số nguyên*/ char str1<> = "123"; /* Chuỗi chứa cả phần có thể và không thể chuyển sang int*/ char str2<> = "-123ab"; /* Chuỗi chứa ký tự trắng đầu chuỗi*/ char str3<> = " \n\t123ab"; /* Chuỗi không thể chuyển sang số nguyên*/ char str4<> = "a123b"; int num0 = atoi(str0); int num1 = atoi(str1); int num2 = atoi(str2); int num3 = atoi(str3); int num4 = atoi(str4); printf("%s => %d\n", str0,num0); printf("%s => %d\n", str1,num1); printf("%s => %d\n", str2,num2); printf("%s => %d\n", str3,num3); printf("%s => %d\n", str4,num4); return 0;}
Kết quả:Copy123 => 123123 => 123-123ab => -123 123ab => 123a123b => 0
Ví dụ cụ thể:Copy#include #include #include int main () { long val; char str<20>; strcpy(str, "11111.22abac"); val = atof(str); printf("%s => %ld\n", str, val); return(0);}//1111.22abac => 11111
Ví dụ cụ thể:Copy#include #include #include int main () { float val; char str<20>; strcpy(str, "11.22abac"); val = atof(str); printf("%s => %.2f\n", str, val); return(0);}//11.22abac => 11.22
Chuyển string sang int trong C | hàm atoi()
Hàm atoi() là một hàm có sẵn trong header file stdlib.h, 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: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 để load header file stdlib.h để có thể sử dụng được hàm atoi() trong chuơng trình.Ví dụ cụ thể:Copy
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:Ví dụ cụ thể:Copy
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:Ví dụ cụ thể:Copy