Chuỗi thành số C++


Vấn đề

Bạn có ý nghĩa gì khi chuyển đổi Chuỗi thành số và số thành chuỗi trong ngôn ngữ lập trình C?

Show

Giải pháp

Có hai chức năng có sẵn để chuyển đổi. Họ là -

  • sscanf() − chuyển đổi chuỗi thành số
  • sprintf() – được sử dụng để chuyển đổi số thành chuỗi

Chuyển đổi chuỗi thành số

Chúng ta có thể chuyển đổi chuỗi thành số bằng hàm sscanf() −

cú pháp

sscanf (string name, “control string”,variable list)

Chuỗi thành số C++

Thí dụ

#include
main (){
   char a[20] = “02 01 2010”;
   int day, mon, yr;
   clrscr();
   sscanf (a, “%d%d %d”, &day, &mon, &yr);
   printf ( “Day =%d”, day);
   printf ( “Month = %d”, mon);
   printf ( “Year = %d”, yr);
   getch ();
}

đầu ra

Day = 02
Month = 01
Year = 2010

Chuyển đổi số thành chuỗi

Chúng ta có thể chuyển đổi chuỗi thành số bằng cách sử dụng hàm sprintf() -

cú pháp

sprintf ( string name, “control string”, variable list)

Chuỗi thành số C++

Thí dụ

#include
main (){
   char a[50];
   int day,mon,yr;
   day = 02;
   mon = 01;
   yr = 2010;
   crlscr();
   sprintf (a, “%d/%d/%d”, day, mon, yr);
   printf ( “today’s date =%s”,a);
   getch ();
}

đầu ra

Today’s date is 02/01/2010.

Chuỗi thành số C++


Chuỗi thành số C++

Khi bạn viết mã bằng C++, sẽ có lúc bạn muốn chuyển đổi một loại dữ liệu sang một loại dữ liệu khác

Trong bài viết này, bạn sẽ học cách chuyển đổi một chuỗi thành một số nguyên trong C++ bằng cách xem hai trong số những cách phổ biến nhất để làm như vậy

Bắt đầu nào

Kiểu dữ liệu trong C++

Ngôn ngữ lập trình C++ có một vài kiểu dữ liệu tích hợp

  • #include 
    
    int main() {
        int age;
        age = 28;
    }
    
    0, cho số nguyên (số nguyên) (ví dụ 10, 150)
  • #include 
    
    int main() {
        int age;
        age = 28;
    }
    
    1, đối với số dấu phẩy động (ví dụ 5. 0, 4. 5)
  • #include 
    
    int main() {
        int age;
        age = 28;
    }
    
    2, đối với các ký tự đơn (ví dụ: 'D', '. ')
  • #include 
    
    int main() {
        int age;
        age = 28;
    }
    
    3, cho một chuỗi ký tự (ví dụ: "Xin chào")
  • #include 
    
    int main() {
        int age;
        age = 28;
    }
    
    4, đối với các giá trị boolean (đúng hoặc sai)

C++ là ngôn ngữ lập trình kiểu mạnh, có nghĩa là khi bạn tạo một biến, bạn phải khai báo rõ ràng loại giá trị nào sẽ được lưu trữ trong đó

Cách khai báo và khởi tạo #include int main() { int age; age = 28; } 0s trong C++

Để khai báo một biến

#include 

int main() {
    int age;
    age = 28;
}
0 trong C++, trước tiên bạn cần viết kiểu dữ liệu của biến – trong trường hợp này là
#include 

int main() {
    int age;
    age = 28;
}
0. Điều này sẽ cho trình biên dịch biết loại giá trị mà biến có thể lưu trữ và do đó nó có thể thực hiện những hành động nào

Tiếp theo, bạn cần đặt tên cho biến

Cuối cùng, đừng quên dấu chấm phẩy để kết thúc câu lệnh

#include 

int main() {
    int age;
}

Sau đó, bạn có thể cung cấp cho biến mà bạn đã tạo một giá trị, như vậy

#include 

int main() {
    int age;
    age = 28;
}

Thay vì thực hiện các hành động này thành các bước riêng biệt, bạn có thể kết hợp chúng bằng cách khởi tạo biến và cuối cùng in kết quả

// a header file that enables the use of functions for outputing information
//e.g. cout or inputing information e.g. cin
#include  

// a namespace statement; you won't have to use the std:: prefix
using namespace std;


int main() { // start of main function of the program
    int age = 28; 
    // initialize a variable. 
    //Initializing  is providing the type,name and value of the varibale in one go.

    // output to the console: "My age is 28",using chaining, <<
    cout << "My age is: " << age << endl;
}// end the main function

Cách khai báo và khởi tạo #include int main() { int age; age = 28; } 3s trong C++

Chuỗi là tập hợp các ký tự riêng lẻ

Khai báo các chuỗi trong C++ hoạt động rất giống với khai báo và khởi tạo các

#include 

int main() {
    int age;
    age = 28;
}
0, mà bạn đã thấy trong phần trên

Thư viện chuẩn C++ cung cấp lớp

#include 

int main() {
    int age;
    age = 28;
}
3. Để sử dụng kiểu dữ liệu chuỗi, bạn phải thêm thư viện tiêu đề
// a header file that enables the use of functions for outputing information
//e.g. cout or inputing information e.g. cin
#include  

// a namespace statement; you won't have to use the std:: prefix
using namespace std;


int main() { // start of main function of the program
    int age = 28; 
    // initialize a variable. 
    //Initializing  is providing the type,name and value of the varibale in one go.

    // output to the console: "My age is 28",using chaining, <<
    cout << "My age is: " << age << endl;
}// end the main function
1 ở đầu tệp của mình, sau
// a header file that enables the use of functions for outputing information
//e.g. cout or inputing information e.g. cin
#include  

// a namespace statement; you won't have to use the std:: prefix
using namespace std;


int main() { // start of main function of the program
    int age = 28; 
    // initialize a variable. 
    //Initializing  is providing the type,name and value of the varibale in one go.

    // output to the console: "My age is 28",using chaining, <<
    cout << "My age is: " << age << endl;
}// end the main function
2

Sau khi bao gồm tệp tiêu đề đó, bạn cũng có thể thêm

// a header file that enables the use of functions for outputing information
//e.g. cout or inputing information e.g. cin
#include  

// a namespace statement; you won't have to use the std:: prefix
using namespace std;


int main() { // start of main function of the program
    int age = 28; 
    // initialize a variable. 
    //Initializing  is providing the type,name and value of the varibale in one go.

    // output to the console: "My age is 28",using chaining, <<
    cout << "My age is: " << age << endl;
}// end the main function
3 mà bạn đã thấy trước đó

Trong số những thứ khác, sau khi thêm dòng này, bạn sẽ không phải sử dụng

// a header file that enables the use of functions for outputing information
//e.g. cout or inputing information e.g. cin
#include  

// a namespace statement; you won't have to use the std:: prefix
using namespace std;


int main() { // start of main function of the program
    int age = 28; 
    // initialize a variable. 
    //Initializing  is providing the type,name and value of the varibale in one go.

    // output to the console: "My age is 28",using chaining, <<
    cout << "My age is: " << age << endl;
}// end the main function
4 khi tạo một biến chuỗi – chỉ cần sử dụng
#include 

int main() {
    int age;
    age = 28;
}
3 thôi

#include 
#include 
using namespace std;

int main() {
    //declare a string variable

    string greeting;
    greeting = "Hello";
    //the `=` is the assignment operator,assigning the value to the variable

}

Hoặc bạn có thể khởi tạo một biến chuỗi và in nó ra bàn điều khiển

#include 
#include 
using namespace std;

int main() {
    //initialize a string variable

    string greeting = "Hello";
   
   //output "Hello" to the console
   cout << greeting << endl;
}

Cách chuyển đổi một chuỗi thành một số nguyên

Như đã đề cập trước đó, C ++ là một ngôn ngữ được gõ mạnh

Nếu bạn cố gắng đưa ra một giá trị không phù hợp với kiểu dữ liệu, bạn sẽ gặp lỗi

Ngoài ra, việc chuyển đổi một chuỗi thành một số nguyên không đơn giản như sử dụng kiểu ép kiểu mà bạn có thể sử dụng khi chuyển đổi các số

#include 

int main() {
    int age;
    age = 28;
}
1 thành các số
#include 

int main() {
    int age;
    age = 28;
}
0

Ví dụ, bạn không thể làm điều này

#include 
#include 
using namespace std;

int main() {
   string str = "7";
   int num;

   num = (int) str;
}

Lỗi sau khi biên dịch sẽ là

hellp.cpp:9:10: error: no matching conversion for C-style cast from 'std::__1::string' (aka
      'basic_string, allocator >') to 'int'
   num = (int) str;
         ^~~~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:875:5: note: candidate function
    operator __self_view() const _NOEXCEPT { return __self_view(data(), size()); }
    ^
1 error generated.

Có một số cách để chuyển đổi một chuỗi thành một int và bạn sẽ thấy hai trong số chúng được đề cập trong các phần tiếp theo

Cách chuyển đổi chuỗi thành int bằng hàm // a header file that enables the use of functions for outputing information //e.g. cout or inputing information e.g. cin #include // a namespace statement; you won't have to use the std:: prefix using namespace std; int main() { // start of main function of the program int age = 28; // initialize a variable. //Initializing is providing the type,name and value of the varibale in one go. // output to the console: "My age is 28",using chaining, << cout << "My age is: " << age << endl; }// end the main function 8

Một cách hiệu quả để chuyển đổi một đối tượng chuỗi thành một số int là sử dụng hàm

// a header file that enables the use of functions for outputing information
//e.g. cout or inputing information e.g. cin
#include  

// a namespace statement; you won't have to use the std:: prefix
using namespace std;


int main() { // start of main function of the program
    int age = 28; 
    // initialize a variable. 
    //Initializing  is providing the type,name and value of the varibale in one go.

    // output to the console: "My age is 28",using chaining, <<
    cout << "My age is: " << age << endl;
}// end the main function
8

Phương pháp này thường được sử dụng cho các phiên bản mới hơn của C ++, đang được giới thiệu với C ++ 11

Nó nhận đầu vào là một giá trị chuỗi và trả về dạng đầu ra là phiên bản số nguyên của nó

#include 
#include 
using namespace std;

int main() {
   // a string variable named str
   string str = "7";
   //print to the console
   cout << "I am a string " << str << endl;

   //convert the string str variable to have an int value
   //place the new value in a new variable that holds int values, named num
   int num = stoi(str);
   
   //print to the console
   cout << "I am an int " << num << endl;
}

đầu ra

I am a string 7
I am an int 7

Cách chuyển đổi một chuỗi thành một int bằng cách sử dụng lớp #include #include using namespace std; int main() { //declare a string variable string greeting; greeting = "Hello"; //the `=` is the assignment operator,assigning the value to the variable } 0

Lớp

#include 
#include 
using namespace std;

int main() {
    //declare a string variable

    string greeting;
    greeting = "Hello";
    //the `=` is the assignment operator,assigning the value to the variable

}
0 chủ yếu được sử dụng trong các phiên bản trước của C++. Nó hoạt động bằng cách thực hiện đầu vào và đầu ra trên chuỗi

Để sử dụng nó, trước tiên bạn phải đưa thư viện

#include 
#include 
using namespace std;

int main() {
    //declare a string variable

    string greeting;
    greeting = "Hello";
    //the `=` is the assignment operator,assigning the value to the variable

}
2 vào đầu chương trình của mình bằng cách thêm dòng
#include 
#include 
using namespace std;

int main() {
    //declare a string variable

    string greeting;
    greeting = "Hello";
    //the `=` is the assignment operator,assigning the value to the variable

}
3

Sau đó, bạn thêm

#include 
#include 
using namespace std;

int main() {
    //declare a string variable

    string greeting;
    greeting = "Hello";
    //the `=` is the assignment operator,assigning the value to the variable

}
0 và tạo đối tượng
#include 
#include 
using namespace std;

int main() {
    //declare a string variable

    string greeting;
    greeting = "Hello";
    //the `=` is the assignment operator,assigning the value to the variable

}
0, đối tượng này sẽ giữ giá trị của chuỗi bạn muốn chuyển đổi thành kiểu int và sẽ được sử dụng trong quá trình chuyển đổi thành kiểu int

Bạn sử dụng toán tử

#include 
#include 
using namespace std;

int main() {
    //declare a string variable

    string greeting;
    greeting = "Hello";
    //the `=` is the assignment operator,assigning the value to the variable

}
6 để trích xuất chuỗi từ biến chuỗi

Cuối cùng, bạn sử dụng toán tử

#include 
#include 
using namespace std;

int main() {
    //declare a string variable

    string greeting;
    greeting = "Hello";
    //the `=` is the assignment operator,assigning the value to the variable

}
7 để nhập giá trị int vừa được chuyển đổi vào biến int

#include 
#include 
#include  // this will allow you to use stringstream in your program

using namespace std;

int main() {
    //create a stringstream object, to input/output strings
   stringstream ss; 
   
   // a variable named str, that is of string data type
   string str = "7";
   
   // a variable named num, that is of int data type
   int num;
   
   
   //extract the string from the str variable (input the string in the stream)
   ss << str;
   
   // place the converted value to the int variable
   ss >> num;
   
   //print to the consloe
   cout << num << endl; // prints the intiger value 7
}

Phần kết luận

Và bạn có nó rồi đấy. Bạn đã thấy hai cách đơn giản để chuyển đổi một chuỗi thành một số nguyên trong C++

Nếu bạn đang muốn tìm hiểu thêm về ngôn ngữ lập trình C++, hãy xem khóa học 4 giờ này trên kênh YouTube của freeCodeCamp

Cảm ơn đã đọc và học tập vui vẻ 😊

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Chuỗi thành số C++
Dionysia Lemonaki

Học một cái gì đó mới mỗi ngày và viết về nó


Nếu bài viết này hữu ích, hãy tweet nó

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm cách nào để chuyển đổi chuỗi thành số trong C?

Chuyển đổi chuỗi sử dụng atoi( ) . Nó được định nghĩa trong

Làm cách nào để trích xuất số từ chuỗi trong C?

Làm cách nào để trích xuất các số từ chuỗi trong C? . Sử dụng hàm strtol() hoặc strtof() cùng với hàm isdigit() .

Làm cách nào để kiểm tra xem một chuỗi có thể được chuyển đổi thành int C không?

Sử dụng phương thức tích hợp isdigit() , mỗi ký tự của chuỗi được kiểm tra. Nếu ký tự chuỗi là một số, nó sẽ in chuỗi đó chứa int. Nếu chuỗi chứa ký tự hoặc bảng chữ cái, nó sẽ in ra chuỗi không chứa int.

Làm cách nào để chuyển đổi chuỗi thành kiểu dữ liệu trong C?

Hàm atoi() chuyển đổi kiểu dữ liệu chuỗi thành kiểu dữ liệu số nguyên trong ngôn ngữ C . Cú pháp của hàm này là. int atoi((const char * str); Ở đây, str là kiểu con trỏ tới một ký tự.