Rust에서 문자열을 Int로 변환

Nilesh Katuwal 2023년6월21일
Rust에서 문자열을 Int로 변환

이 기사에서는 Rust에서 문자열을 int로 변환하는 방법을 알려줍니다.

Rust에서 str::parse::() 메서드를 사용하여 문자열을 Int로 변환

str::parse::() 메서드를 사용하여 문자열을 int로 직접 변환할 수 있습니다.

let string_value = "27".to_string();
let int_value = string_value.parse::<i32>().unwrap();

예제 코드:

fn main() {
    let mut string_one: &str = "789";
    let mut i = match string_one.parse::<i32>() {
        Ok(i) => i,
        Err(_e) => -1,
    };
    println!("{:?}", i);
}

출력:

789

이제 문자열 표현인 a에서 정수 값 i를 추출합니다. 다음 코드를 살펴보겠습니다.

예제 코드:

fn main() {
    let mut a = "789";
    let mut i: i32 = a.parse().unwrap_or(0);
    println!("{:?}", i);

    a = "12u3";
    i = a.parse().unwrap_or(0);
    println!("{:?}", i);
}

출력:

789
0

usize와 같은 특정 유형으로 구문 분석하려면 if-let 문에서 특수 Rust turbofish연산자를 사용하여 usize로 구문 분석할 수 있습니다.

예제 코드:

fn main() {
    let data = "60606";
    if let Ok(result) = data.parse::<usize>() {
        println!("USIZE RESULT: {}", result);
    }
}

출력:

USIZE RESULT: 60606

다른 문자열 안에 숫자가 있으면 get() 함수를 사용하여 해당 문자열에서 슬라이스를 추출할 수 있습니다. 그런 다음 숫자를 구문 분석할 수 있습니다.

예제 코드:

fn main() {
    let value = "a 6789 b";

    let inner_part = value.get(2..value.len() - 2).unwrap();
    println!("INNER PART: {}", inner_part);

    // Tp parse inner part.
    let result: u32 = inner_part.parse().unwrap();
    println!("PARSED: {0}", result);
}

출력:

INNER PART: 6789
PARSED: 6789