Chuyển số thành chuỗi trong C (sprintf, itoa)

Hướng dẫn cách chuyển số thành chuỗi trong C. Bạn sẽ học được cách sử dụng hàm sprintf() và itoa() để chuyển số thành chuỗi trong C sau bài học này.

Chúng ta có 2 phương pháp để chuyển số thành chuỗi trong C như sau:

  • Hàm sprintf(): Hàm chuẩn để chuyển số thành chuỗi trong C
  • Hàm itoa(): Chuyển int sang string trong C

Chuyển số thành chuỗi trong C | hàm sprintf()

Hàm sprintf() trong C vốn là một hàm có sẵn trong header file stdio.h, giúp chúng ta tạo tạo một chuỗi đầu ra từ các biến với kiểu và định dạng khác nhau.

  • Xem thêm: Bốn cách xuất dữ liệu trong C

Trong trường hợp chỉ định các biến này là các số, chúng ta đơn giản có thể chuyển số thành chuỗi trong C lại và tạo thành một chuỗi mới chứa kết quả thông qua hàm sprintf().

Cú pháp của hàm sprintf() để chuyển số thành chuỗi trong C như sau:

sprintf (target, format, num)

Trong đó

  • target là chuỗi đích
  • num là số cần chuyển thành chuỗi
  • format là chuỗi định dạng của số đó. Tuỳ thuộc số này là số nguyên hay số thực mà sẽ có định dạng tương ứng. Xem thêm: Định dạng nhập xuất trong C.

Bằng cách sử dụng hàm sprintf(), chúng ta có thể thực hiện các phép ép kiểu số trong C như chuyển int sang string trong c, chuyển float sang string trong C tuỳ theo định dạng mà chúng ta chỉ định trong hàm.

Ví dụ cụ thể:



int

main

(

void

) {

int

num1 =

88

;

float

num2 =

10.8

;



char

target1[

100

];

sprintf

(target1,

"%d\n"

, num1);

printf

(

"%s"

, target1);



char

target2[

100

];

sprintf

(target2,

"%f\n"

, num2);

printf

(

"%s"

, target2);


return

0

;

}


Kết quả:

88


10.800000


Chuyển int sang string trong C | hàm itoa()

Hàm itoa() có tác dụng chuyển một số nguyên int thành một chuỗi string trong C . Cơ chế của nó là thêm ký tự kết thúc chuỗi \0 vào cuối số chỉ định và biến số đó thành chuỗi.

Lưu ý rằng itoa() không phải là một hàm chuẩn trong C, và nó có thể không hoạt động trong một số môi trường lập trình C.

Cú pháp của hàm itoa() để chuyển số nguyên thành chuỗi trong C như sau:

itoa (num, target, base)

Trong đó

  • num là số nguyên cần chuyển thành chuỗi
  • target là chuỗi đích để chứa num sau khi chuyển thành chuỗi
  • base là cơ số chuyển đổi, nhằm xác định một giá trị số nguyên, chuyển đổi nó thành một giá trị cơ bản và lưu trữ nó trong một bộ đệm. Nếu cơ số là 10 và giá trị là âm, thì chuỗi kết quả được đặt trước dấu trừ ( -).

Cách sử dụng hàm itoa() để chuyển số thành chuỗi trong C đơn giản như ví dụ sau đây:





int

main

(

void

)

{

int

number,l;

char

string

[

20

];


printf

(

"Enter a number: "

);

scanf

(

"%d"

, &number);


itoa(number,

string

,

10

);


printf

(

"String value = %s\n"

,

string

);


return

0

;

}


Kết quả:

>>Enter a number: 15


String value: 15


Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách chuyển số thành chuỗi 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.