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);
}