rapidyaml  0.12.0
parse and emit YAML, and do it fast
dtoa: float64 to chars

Functions

size_t c4::dtoa (substr str, double v, int precision=-1, RealFormat_e formatting=FTOA_FLEX) noexcept
 Convert a double-precision real number to string. More...
 

Detailed Description

Function Documentation

◆ dtoa()

size_t c4::dtoa ( substr  str,
double  v,
int  precision = -1,
RealFormat_e  formatting = FTOA_FLEX 
)
inlinenoexcept

Convert a double-precision real number to string.

The string will in general be NOT null-terminated. For FTOA_FLEX, precision is the number of significand digits. Otherwise precision is the number of decimals. It is safe to call this function with an empty or too-small buffer.

Returns
the size of the buffer needed to write the number

Definition at line 2086 of file charconv.hpp.

2087 {
2088 #if C4CORE_HAVE_STD_TOCHARS
2089  return detail::rtoa(str, v, precision, formatting);
2090 #else
2091  char fmt[16];
2092  detail::get_real_format_str(fmt, precision, formatting, /*length_modifier*/"l");
2093  return detail::print_one(str, fmt, v);
2094 #endif
2095 }