Expand description
Print f64 to the given buffer and return number of bytes written.
At most 24 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.234f64;
unsafe {
let mut buffer = [MaybeUninit::<u8>::uninit(); 24];
let len = ryu::raw::format64(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");
}