use rand::{Rng, SeedableRng};
use rand::rngs::StdRng;
use std::time::{SystemTime, UNIX_EPOCH};
fn get_random_two_digits(num: i32) -> Result<String, &'static str> {
let s = num.to_string();
if s.len() < 2 {
return Err("Error: number must have at least 2 digits");
}
let seed = SystemTime::now()
.duration_since(UNIX_EPOCH)
.expect("Time went backwards")
.as_nanos() as u64;
let mut rng = StdRng::seed_from_u64(seed);
let start = rng.random_range(0..s.len() - 1);
Ok(s[start..start + 2].to_string())
}
fn main() {
let num = 1234567;
match get_random_two_digits(num) {
Ok(random_two) => println!("Random two digits: {}", random_two),
Err(e) => println!("{}", e),
}
}
/*
run:
Random two digits: 56
*/