charconv_float.cxx 405 B

12345678910111213141516
  1. // Test for std::to_string/std::from_string for floating-point types.
  2. #include <charconv>
  3. #include <iterator>
  4. int main()
  5. {
  6. char z[100];
  7. auto rt = std::to_chars(std::begin(z), std::end(z), 3.14159L);
  8. if (rt.ec != std::errc{})
  9. return 1;
  10. long double n;
  11. auto rf = std::from_chars(std::cbegin(z), std::cend(z), n);
  12. if (rf.ec != std::errc{})
  13. return 2;
  14. return (n > 3 and n < 4) ? 0 : 1;
  15. }