char::to_digit(radix) does that. radix denotes the “base”, i.e. 10 for the decimal system, 16 for hex, etc.:
let a = "29";
for c in a.chars() {
println!("{:?}", c.to_digit(10));
}
It returns an Option, so you need to unwrap() it, or better: expect("that's no number!"). You can read more about proper error handling in the appropriate chapter of the Rust book.