<charconv>

快速将字符序列转换为整数或浮点值,反之亦然。 使用此库的一种方法是在 JSON 和文本文件中编写和往返浮点值。

这些转换函数针对性能进行了优化,还支持最短的往返行为。 最短往返行为意味着当数字转换为字符时,只写出足够的精度,以便在将这些字符转换回浮点值时恢复原始数字。 没有其他 CRT 或 STL 函数提供此功能。

下面是使用 <charconv> 库的一些优势:

  • 表示数值的字符序列不需要以 null 结尾。 同样,当数字转换为字符时,结果不会以 null 结尾。
  • 转换函数不分配内存。 你在所有情况下都拥有缓冲区。
  • 转换函数不会引发。 它们会返回包含错误信息的结构。
  • 转换不区分运行时舍入模式。
  • 转换不识别区域设置。 对于使用逗号的区域设置,它们总是将小数点打印并解析为“.”,而从不将其打印为“,”。

要求

标头:<charconv>

命名空间: std

需要 /std:c++17 或更高版本。

成员

类型

类型 描述
chars_format 指定格式设置类型,例如科学记数法、十六进制等。
from_chars_result 保存 from_chars 转换的结果。
to_chars_result 保存 to_chars 转换的结果。

函数

函数 说明
from_chars 将字符转换为整数、浮点数或双精度数。
to_chars 将整数、浮点数或双精度数转换为字符。

另请参阅

头文件引用