如何在Rust中将布尔值转换为整数?

时间:2019-04-01 18:41:17

标签: rust

如何在Rust中将布尔值转换为整数?与之类似,true变为1,而false变为0。

4 个答案:

答案 0 :(得分:10)

投射:

fn main() {
    println!("{}", true as i32)
}

答案 1 :(得分:9)

Rust中的布尔值是guaranteed to be 1 or 0

  

布尔值表示一个值,该值只能为true或false。如果将布尔值转换为整数,则true为1,false为0。

布尔值,都不是 0 也不 1undefined behavior

  

布尔值中的false(0)或true(1)以外的值。

因此,您可以将其转换为原始类型:

assert_eq!(0, false as i32);
assert_eq!(1, true as i32);

答案 2 :(得分:6)

使用dlib::input_vector语句:

if

另请参阅:

答案 3 :(得分:2)

您可以使用.into()

let a = true;
let b: i32 = a.into();
println!("{}", b); // 1

let z: isize = false.into();
println!("{}", z); // 0

playground