GitHub

Practice

Practice - 003

A program to read integer and print it in decimal octal and hexadecimal form

use std::io::{stdin,stdout,Write};
fn main() {
practice3()
}
fn practice3() {
let mut s=String::new();
print!("Please enter some text: ");
let _=stdout().flush();
stdin().read_line(&mut s).expect("failed to read from stdin");
if let Some('\n')=s.chars().next_back() {
s.pop();
}
if let Some('\r')=s.chars().next_back() {
s.pop();
}
println!("You typed: {}",s);
let trimmed = s.trim();
let (is_integer, integer) = match trimmed.parse::<u32>() {
Ok(i) => (true, i),
Err(..) => (false, 0),
};
if !is_integer {
println!("This is not an integer: {}", trimmed);
return;
}
println!("Decimal: {}", integer);
println!("Octal: {:o}", integer);
println!("Lower Hex: {:x}", integer);
println!("Upper Hex: {:X}", integer);
}

Result

Please enter some text: 42
You typed: 142
Decimal: 142
Octal: 216
Lower Hex: 8e
Upper Hex: 8E
Please enter some text: 12abc
You typed: 12abc
This is not an integer: 12abc
Previous
Practice - 002