# Struct ryu::Buffer

source · [−]

    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

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 “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.

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.

## 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

### impl RefUnwindSafe for Buffer

### impl Send for Buffer

### impl Sync for Buffer

### impl Unpin for Buffer

### impl UnwindSafe for Buffer

## 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,

const: unstable · source

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

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

const: unstable · source

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

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

const: unstable · source

#### fn from(t: T) -> T

Returns the argument unchanged.

source

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

const: unstable · 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.

const: unstable · 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.

const: unstable · source

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

Performs the conversion.