המרת מחרוזת ל- Int


רמת קושי קַל
נשאל לעתים קרובות מאק
מתמטיקה מחרוזת

המרת מחרוזת ל- int, מחייב אותנו להמיר מחרוזת מספרית הניתנת למספר שלם. כאן אנו מניחים, אנו מספקים מחרוזת מספרית ללא רווחים לבנים באמצע התווים או בכל אחד מהקצוות. אנו מניחים גם כי המחרוזת שסופקה לנו אינה כוללת שום תו מלבד המספרים מ- '0' עד '9'. עכשיו, מדוע בכלל נרצה להמיר מחרוזת למספר שלם? אם יש לנו מחרוזת מספרית, קשה יותר לבצע פעולות חשבוניות מספריות כמו חיבור, חיסור, כפל וכו 'בקלות בהשוואה לביצוע פעולות אלה במספר שלם.

אבל אז אתה יכול לשאול, למה אנחנו בכלל לוקחים מחרוזת כקלט מהמשתמש? עדיף היה אם ניקח מספר שלם כקלט מהמשתמש, נכון? כן, זה היה טוב יותר אבל זה מקטין את יכולת ההרחבה שלנו. מכיוון שאם משתמש מזין בטעות כמה תווים שאינם מספרים, התוכנית שלנו תקרוס. לכן, עדיף לקחת קלט כמחרוזת ולאחר מכן להמיר את המחרוזת למספר שלם. לאחר הסרת תווים, או רווחים לבנים אם קיימים. יש לנו כל כך הרבה דרכים לבצע את ההמרה הזו ממחרוזת למספר שלם, הן ב- CPP והן ב- Java. כעת נבחן כמה מהדרכים להמיר מחרוזת למספר שלם.

דוגמה

235
int n = 235

הסבר: כאן הומר "235" למספר שלם.

המרת מחרוזת ל- int

1ab
int n =  0   (as the string contains characters other than digits output is 0)

 

תוכניות C ++

שימוש בזרמי מיתרים להמיר מחרוזת ל- int

אַלגוֹרִיתְם

1. Initialise a string s of size n.
2. Initialise an object of the string stream class.
3. After that, create a variable of integer type and stream the object with the integer.
4. Print the integer variable.

קוד C ++

#include <iostream> 
#include <sstream> 
using namespace std; 
  
int main(){ 
    string s = "235"; 
  
    stringstream str(s); 
  
    int n = 0; 
    str>>n; 
  
    cout<<"int n = "<<n; 
  
    return 0; 
}
int n = 235

שימוש ב- sscanf () להמיר מחרוזת ל- int

אַלגוֹרִיתְם

1. Initialise a const char str.
2. After that, initialise an object of the string stream class.
3. Create an variable of integer type and update the value of the integer variable using the sscanf.
4. Print the Integer variable.

קוד C ++

#include <iostream> 
#include <sstream> 
using namespace std; 
  
int main(){ 
    
    const char *str = "235"; 
    int n; 
    sscanf(str, "%d", &n); 
  
    cout<<"int n = "<<n; 
  
    return 0; 
}
int n = 235

שימוש ב- stoi () להמיר מחרוזת ל- int

stoi () לוקח מחרוזת ומחזיר את הערך שלו.

אַלגוֹרִיתְם

1. Initialise a string s of size n.
2. Create a variable of the integer type and update the value of the integer variable wih the function stoi().
3. Print the Integer variable.

קוד C ++

#include <iostream> 
#include <string> 
using namespace std; 
  
int main(){
    
    string s = "235"; 
    
    int n = stoi(s); 
    
    cout<<"int n = "<<n; 
    return 0; 
}
int n = 235

שימוש ב- atoi () להמיר מחרוזת ל- int

atoi () לוקח את מערך התווים או את המחרוזת ומחזיר את הערך שלו.

אַלגוֹרִיתְם

1. Initialise an array of character type or a string literal s.
2. After that, create a variable of integer type and update the value of integer variable with the function atoi().
3. Print the Integer variable.

קוד C ++

#include <iostream> 
#include <string> 
using namespace std; 
  
int main(){
    
    const char *s = "235";
    
    int n = atoi(s); 
    
    cout<<"int n = "<<n; 
    return 0; 
}
int n = 235

תוכניות Java להמרת מחרוזת ל- int

שימוש Integer.parseInt ()

אַלגוֹרִיתְם

1. Initialise a string s of size n.
2. After that, create a variable of integer type and update the value of the integer variable as the parsed value of string to integer using the method Integer.parseInt(s).
3. Print the Integer variable.

קוד Java

import java.io.*; 
  
class convertStr{ 
  
    public static int convert(String s){ 
        int n = 0; 
        try{
            n = Integer.parseInt(s); 
        }
        catch(NumberFormatException e){ 
        } 

        return n; 
    } 
  
    public static void main(String[] args){ 
  
        String s = "235"; 
        int n = convert(s); 
        System.out.println("int n = "+n); 
        
    } 
}
int n = 235

שימוש בתכונות :: שיטת tryParse של ספריית גויאבה

אַלגוֹרִיתְם

1. Initialise a string s of size n and convert it into int using Ints::tryParse method.
2. Create a variable of the integer type and update the value of integer variable as the result.
3. Print the Integer variable.

קוד Java

import java.io.*; 
import java.util.*; 
import com.google.common.primitives.Ints;

import java.io.*; 
  
class convertStr{ 
  
    public static int convert(String s){ 
        int n = 0;
        
        n = Optional.ofNullable(s).map(Ints::tryParse).orElse(0);

        return n; 
    } 
  
    public static void main(String[] args){ 
  
        String s = "235"; 
        int n = convert(s); 
        System.out.println("int n = "+n); 
        
    } 
}
int n = 235