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: 42You typed: 142Decimal: 142Octal: 216Lower Hex: 8eUpper Hex: 8E
Please enter some text: 12abcYou typed: 12abcThis is not an integer: 12abc