How to convert an array of multi‑digit numbers to a number in Rust

1 Answer

0 votes
// ------------------------------------------------------------
// ArrayToNumber
// Converts an int[] into a single integer by concatenating
// each element as a string. Works for multi-digit numbers.
// Example: {14, 6, 9, 31, 20} ->14693120
// ------------------------------------------------------------
fn array_to_number(arr: &[i32]) -> i32 {
    let s: String = arr
        .iter()
        .map(|num| num.to_string())   // concatenate as text
        .collect::<String>();

    s.parse::<i32>().unwrap()        // convert final string to int
}

fn main() {
    let arr = [14, 6, 9, 31, 20];

    let n = array_to_number(&arr);

    println!("n = {}", n);
}


/*
run:

n = 14693120

*/

 



answered May 11 by avibootz
...