러스트에서 String(str)을 Integer, Float 등의 숫자로 변환하는 방법을 소개합니다.
1. parse()를 이용하여 Int, Float 변환
str.parse::<Type>()
는 문자열을 파싱하고 Result<Type, ParseIntError>
타입으로 리턴합니다.
리턴된 값에 unwrap()을 호출하여 Result 안에 저장된 숫자를 가져올 수 있습니다.
아래와 같이 Int와 Float의 문자열을 변환할 수 있습니다.
fn main() {
let str1: &str = "123";
let num1: i32 = str1.parse::<i32>().unwrap();
println!("str: {}, num: {}", str1, num1);
let str2: &str = "123.456";
let num2: f32 = str2.parse::<f32>().unwrap();
println!("str2: {}, num2: {}", str2, num2);
}
Output:
str: 123, num: 123
str2: 123.456, num2: 123.456
2. from_str()을 이용하여 Int, Float 변환
Type::from_str(&str).unwrap()
을 이용하여 문자열을 int나 float 타입으로 변환할 수 있습니다.
from_str()
을 사용하려면use std::str::FromStr;
import 필요
use std::str::FromStr;
fn main() {
let str1: &str = "123";
let num1: i32 = i32::from_str(&str1).unwrap();
println!("str: {}, num: {}", str1, num1);
let str2: &str = "123.456";
let num2: f32 = f32::from_str(&str2).unwrap();
println!("str2: {}, num2: {}", str2, num2);
}
Output:
str: 123, num: 123
str2: 123.456, num2: 123.456
3. String 타입 객체를 숫자로 변환
위의 예제는 기본 문자열 타입 str
을 i32, f32 등으로 변환하는 예제입니다.
String 타입의 경우도, 위와 동일한 방법으로 변환할 수 있습니다.
fn main() {
let str1: String = String::from("123");
let num1: i32 = str1.parse::<i32>().unwrap();
println!("str: {}, num: {}", str1, num1);
let str2: String = String::from("123.456");
let num2: f32 = str2.parse::<f32>().unwrap();
println!("str2: {}, num2: {}", str2, num2);
}
Output:
str: 123, num: 123
str2: 123.456, num2: 123.456
또한, from_str()
를 사용하여 변환할 수 있습니다.
Loading script...
Related Posts
- Rust - String을 char 리스트(Vector)로 변환
- Rust - 문자가 대문자인지 소문자인지 확인
- Rust - String에서 줄바꿈(newline) 문자 제거 방법
- Rust - String 대문자, 소문자 변환
- Rust - 현재 시간 가져오기 (DateTime, chrono)
- Rust - 예외 처리 방법 (Exception handling)
- Rust - String.find()으로 문자열 Index 찾기
- Rust - match (Switch) 사용 방법
- Rust - Vector의 요소 제거 방법 (remove, retain, drain)
- Rust - String의 특정 Index 값 가져오기
- Rust - 문자열 뒤집기, 역순으로 변경
- Rust - String 객체에 문자열 추가하기
- Rust - sleep(), 몇 초 지연/대기 방법
- Rust - String을 Int, Float으로 변환
- Rust - Integer를 String으로 변환
- Rust - Float를 String으로 변환
- Rust - String 비교 방법 (==, !=, eq, ne)
- Rust - String을 str으로, str을 String으로 변환
- Rust - String 공백 제거 (trim, replace)
- Rust - 2개의 배열이 같은지 비교 (==, equals)
- Rust - 배열 길이 가져오기 (Array length)
- Rust - Vector를 배열로 변환 (vector to array)
- Rust - 배열의 최소, 최대 값 찾기 (min, max)
- Rust - 배열의 합계, 평균 (sum, average)
- Rust - 2개의 Vector가 같은지 비교 (==, equals)
- Rust - HashMap을 Vector로 변환
- Rust - Vector의 최소, 최대 값 찾기 (min, max)
- Rust - Vector의 합계, 평균 (sum, average)
- Rust - 벡터 길이 가져오기 (Vector length)
- Rust - 배열을 HashSet으로 변환
- Rust - 배열을 벡터로 변환하는 방법
- Rust - 배열(벡터) 모든 요소 출력
- Rust - 배열 나누기, 자르기 (split_at, slice)
- Rust - 2개 벡터 하나로 합치기
- Rust - HashSet을 Vector로 변환