Trong phần này, chúng ta sẽ thấy cách chuyển đổi chuỗi sang số và số sang chuỗi. Trước tiên, chúng ta sẽ xem cách chuyển đổi chuỗi sang số.
Chuyển đổi Chuỗi sang Số
Ở đây chúng ta sẽ thấy cách chuyển đổi một chuỗi số sang dữ liệu kiểu nguyên. Chúng ta có thể giải quyết vấn đề này bằng cách sử dụng hàm atoi(). Hàm này nhận chuỗi làm đầu vào và chuyển đổi thành dữ liệu nguyên.
Hàm atoi() nằm trong thư viện <cstdlib>.
Đầu vào: Chuỗi số "1234" Đầu ra: 1234
Thuật toán
Bước 1: Lấy một chuỗi số Bước 2: Chuyển đổi sang nguyên dùng hàm atoi() Bước 3: In kết quả. Bước 4: Kết thúc
Mã ví dụ
#include<iostream>
#include<cstdlib>
using namespace std;
main() {
int n;
char num_string[20] = "1234";
n = atoi(num_string);
cout << n;
}Kết quả
1234
Chuyển đổi Số sang Chuỗi
Trong phần này, chúng ta sẽ thấy cách chuyển đổi một số (nguyên, thực hoặc bất kỳ kiểu dữ liệu số nào) thành chuỗi.
Logic rất đơn giản. Ở đây chúng ta sẽ dùng hàm sprintf(). Hàm này dùng để in một giá trị hoặc dòng vào một chuỗi, nhưng không in ra màn hình. Đây là sự khác biệt duy nhất giữa printf() và sprintf(). Ở đây đối số đầu tiên là bộ đệm chuỗi, nơi chúng ta muốn lưu dữ liệu.
Đầu vào: Người dùng nhập một giá trị số, ví dụ 42.26 Đầu ra: Chương trình trả về kết quả chuỗi tương đương của số đó như "42.26"
Thuật toán
Bước 1: Lấy một số từ người dùng Bước 2: Tạo một bộ đệm chuỗi rỗng để lưu kết quả Bước 3: Dùng sprintf() chuyển số sang chuỗi Bước 4: Kết thúc
Mã ví dụ
#include<stdio.h>
main() {
char str[20]; //tạo chuỗi rỗng để lưu số
float number;
printf("Nhập một số: ");
scanf("%f", &number);
sprintf(str, "%f", number); //biến số thành chuỗi dùng sprintf
printf("Bạn đã nhập: %s", str);
}Kết quả
Nhập một số: 46.3258 Bạn đã nhập: 46.325802