Преобразуване на низ в Int


Ниво на трудност Лесно
Често задавани в Maq
Математически Низ

Превръщам низ to int, изисква от нас да преобразуваме числов низ, даден в цяло число. Тук предполагаме, че сме снабдени с цифров низ без празни пространства или в средата на символите, или в някой от краищата. Предполагаме също така, че предоставеният ни низ няма никакъв символ, различен от числата от „0“ до „9“. Защо изобщо искаме да преобразуваме низ в цяло число? Ако имаме числов низ, тогава е по-трудно да изпълняваме числови аритметични операции като събиране, изваждане, умножение и т.н. лесно в сравнение с извършването на тези операции върху цяло число.

Но тогава можете да попитате, защо изобщо приемаме низ като вход от потребителя? По-добре би било да вземем цяло число като вход от потребителя, нали? Да, би било по-добре, но това намалява нашата мащабируемост. Защото, ако потребител погрешно въведе някои символи, различни от числа, нашата програма ще се срине. Така че, за предпочитане е входът да се приема като низ и след това да се преобразува низът в цяло число. След премахване на символи или празни пространства, ако има такива. Имаме толкова много начини да направим това преобразуване от низ в цяло число, както в CPP, така и в Java. Сега ще разгледаме някои от начините за преобразуване на низ в цяло число.

Пример

235
int n = 235

Обяснение: Тук “235” е преобразуван в цяло число.

Преобразуване на String в 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

Използване на метода Ints :: 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