Function core::num::flt2dec::to_shortest_str [] [src]

pub fn to_shortest_str<'a, T, F>(format_shortest: F, v: T, sign: Sign, frac_digits: usize, _upper: bool, buf: &'a mut [u8], parts: &'a mut [Part<'a>]) -> Formatted<'a> where T: DecodableFloat, F: FnMut(&Decoded, &mut [u8]) -> (usize, i16)
Unstable (flt2dec)

: internal routines only exposed for testing

Formats given floating point number into the decimal form with at least given number of fractional digits. The result is stored to the supplied parts array while utilizing given byte buffer as a scratch. upper is currently unused but left for the future decision to change the case of non-finite values, i.e. inf and nan. The first part to be rendered is always a Part::Sign (which can be an empty string if no sign is rendered).

format_shortest should be the underlying digit-generation function. You probably would want strategy::grisu::format_shortest for this.

frac_digits can be less than the number of actual fractional digits in v; it will be ignored and full digits will be printed. It is only used to print additional zeroes after rendered digits. Thus frac_digits of 0 means that it will only print given digits and nothing else.

The byte buffer should be at least MAX_SIG_DIGITS bytes long. There should be at least 5 parts available, due to the worst case like [+][0.][0000][45][0000] with frac_digits = 10.