Struct ryu_js::Buffer

source ·
pub struct Buffer { /* private fields */ }
Expand description

Safe API for formatting floating point numbers to text.

§Example

let mut buffer = ryu_js::Buffer::new();
let printed = buffer.format_finite(1.234);
assert_eq!(printed, "1.234");

Implementations§

source§

impl Buffer

source

pub fn new() -> Self

This is a cheap operation; you don’t need to worry about reusing buffers for efficiency.

source

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 “Infinity”, and negative infinity as “-Infinity” to match the ECMAScript specification.

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.

source

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.

source

pub fn format_to_fixed<F: FloatToFixed>( &mut self, f: F, fraction_digits: u8 ) -> &str

Print a floating point number into this buffer using the Number.prototype.toFixed() notation and return a reference to its string representation within the buffer.

The fraction_digits argument must be between [0, 100] inclusive, If a values value that is greater than the max is passed in will be clamped to max.

§Special cases

This function formats NaN as the string “NaN”, positive infinity as “Infinity”, and negative infinity as “-Infinity” to match the ECMAScript specification.

Trait Implementations§

source§

impl Clone for Buffer

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for Buffer

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Copy for Buffer

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.