fn main(){ let n: i32 = 12; let v: f32 = n as f32; println!("{}->{}", n, v); }
fn main(){ let v = 123.45; let n = v as i32; println!("{}->{}", v, n); }
let v = 12.56_f64; let n = v.floor() as i32; let m = v.ceil() as i32; let l = v.round() as i32;
整数型から別の整数型への変換
fn main(){ let n: i32 = 12; let v: i64 = n as i64; println!("{}->{}", n, v); }
fn main(){ let n: i64 = i64::MAX; let v: i32 = n as i32; println!("{}->{}", n, v); }
実数型から別の実数型に変換するときもasを使う。この時に誤差が発生する場合がある
fn main(){ let x: f32 = 7.6; let y: f64 = x as f64; println!("{}->{}", x, y); }
7.6->7.599999904632568
文字列から数値へ変換するにはparse().unwrap()を使用する
fn main(){ let s = "123"; let v: u32 = s.parse().unwrap(); println!("{}->{}", s, v); }
あるいは parse::
fn main(){ let s: &str = "123"; let n: i32 = s.parse::<i32>().unwrap(); println!("{:?}->{}", s, n); }
文字列からバイト値に変換するにはas_bytes()を使用する
fn main(){ let s: &str = "0"; let n: &[u8] = s.as_bytes(); println!("{}->{:?}", s, n); }
数値から文字列への変換は to_string() を使用する
fn main(){ let n: i32 = 123; let s = n.to_string(); println!("{}->{}", n, s); }
バイト値から文字列へ変換するにはstd::str::from_utf8().unwrap()を使用する
fn main(){ let n: &[u8] = &[0x33]; let s: &str = std::str::from_utf8(n).unwrap(); println!("{:?}->{}", n, s); }