Rust 获取从键盘输入的整数和小数 | 获取浮点型的输入

浮点型输入

因为某些原因需要获取浮点型数据的输入。
使用 trim() 去除多余的符号,例如回车号,然后使用 parse() 来做数据转换。
代码注释中的使用 unwrap() 方法也可以直接得到想要的内容,但是前提是输入的数值要是浮点型,否则会报错,所以后面使用了一个会自动抛出错误,使程序不崩溃的方法。

use std::io::stdin;

fn main() {
    let mut input = String::new();
    stdin().read_line(&mut input)
        .ok()
        .expect("Failed to read line");

    // let f1: f32 = input.trim().parse().unwrap();
    // let f2 = input.trim().parse::<f64>().unwrap();
    let f: f32 = match input.trim().parse() {
        Ok(f) => f,
        Err(_) => {
             println!("请输入\"float\"类型的内容,请勿输入无关符号!");
             return;
        }
    };

    //println!("f1: {f1}\nf2: {f2}");
    println!("f: {f}");
}

整数的输入

整数的处理和浮点型的处理一致。
声明变量的时候修改一下转换的变量即可。

use std::io::stdin;

fn main() {
    let mut input = String::new();
    stdin().read_line(&mut input)
        .ok()
        .expect("Failed to read line");

    let i: i32 = match input.trim().parse() {
        Ok(num) => num,
        Err(_) => {
             println!("请输入整数,请勿输入无关符号!");
             return;
        }
    };

    println!("i: {i}");
}

相关文章

发表回复

您的电子邮箱地址不会被公开。