Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chuyển đổi chuỗi sang số và ngược lại trong C++


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