How to convert u64 to string bytes in no_std?

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=d82bcf03ada570cd127dba3e5e4196e7

You can do it like this:

fn base_10_bytes(mut n: u64, buf: &mut [u8]) -> &[u8] {
    if n == 0 {
        return b"0";
    }
    let mut i = 0;
    while n > 0 {
        buf[i] = (n % 10) as u8 + b'0';
        n /= 10;
        i += 1;
    }
    let slice = &mut buf[..i];
    slice.reverse();
    &*slice
}

playground

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.