pub struct Buffer { /* private fields */ }
Expand description
Safe API for formatting floating point numbers to text.
Example
let mut buffer = ryu::Buffer::new();
let printed = buffer.format_finite(1.234);
assert_eq!(printed, "1.234");
Implementations§
source§impl Buffer
impl Buffer
sourcepub fn new() -> Self
pub fn new() -> Self
This is a cheap operation; you don’t need to worry about reusing buffers for efficiency.
sourcepub fn format<F: Float>(&mut self, f: F) -> &str
pub fn format<F: Float>(&mut self, f: F) -> &str
Print a floating point number into this buffer and return a reference to its string representation within the buffer.
Special cases
This function formats NaN as the string “NaN”, positive infinity as “inf”, and negative infinity as “-inf” to match std::fmt.
If your input is known to be finite, you may get better performance by
calling the format_finite
method instead of format
to avoid the
checks for special cases.
sourcepub fn format_finite<F: Float>(&mut self, f: F) -> &str
pub fn format_finite<F: Float>(&mut self, f: F) -> &str
Print a floating point number into this buffer and return a reference to its string representation within the buffer.
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.