将字符串转换为Int


难度级别 易得奖学金
经常问 空气质量
数学

转化率 绳子 转换为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