【发布时间】:2021-06-08 17:36:09
【问题描述】:
根据https://en.cppreference.com/w/cpp/compiler_support#cpp17,目前还没有主要供应商支持std::to_chars 和std::from_chars 的浮点版本。我知道正确格式化浮点数并非易事,但 C 库中存在实现。但是这些都受到环境的影响,这也是标准中增加std::to_chars和std::from_chars的原因之一。如果您将 C 库重构为依赖于将实际转换基本转换为某种中间格式的常见低级例程,那么这些函数的实现不会简单地免费提供。然后std::to_chars 和std::from_chars 可以或多或少直接使用结果,以及C 和C++ 中更高级的API:s (printf, atof, strtod, std::stof, std::to_string ) 可以做一些更花哨的事情。
【问题讨论】:
-
STL 实际上将在今年的 CppCon 上发表演讲(部分)这最终会变得多么困难:cppcon2019.sched.com/event/Sft8
-
VC++ supports it,并且已经这样做了一年左右..
-
如果您将 C 库重构为依赖于将实际转换基本转换为某种中间格式的常见低级例程,那么这些函数的实现不会简单地免费提供。 AFAIK 提出这些功能是为了摆脱我们过去的做法,转向更高效、更轻量级的转换实用程序。
标签: c++ c++17 floating-point-conversion