# Function ryu::raw::format32

source · [−]

    pub unsafe fn format32(f: f32, result: *mut u8) -> usize

Expand description

Print f32 to the given buffer and return number of bytes written.

At most 16 bytes will be written.

### Special cases

This function does not check for NaN or infinity. If the input number is not a finite float, the printed representation will be some correctly formatted but unspecified numerical value.

Please check `is_finite` yourself before calling this function, or check `is_nan` and `is_infinite` and handle those cases yourself.

### Safety

The `result` pointer argument must point to sufficiently many writable bytes to hold Ryū’s representation of `f`.

### Example

    use std::{mem::MaybeUninit, slice, str};

    let f = 1.234f32;

    unsafe {
        let mut buffer = [MaybeUninit::<u8>::uninit(); 16];
        let len = ryu::raw::format32(f, buffer.as_mut_ptr() as *mut u8);
        let slice = slice::from_raw_parts(buffer.as_ptr() as *const u8, len);
        let print = str::from_utf8_unchecked(slice);
        assert_eq!(print, "1.234");
    }