NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
字符串转换

字符串与数据类型之间的转换功能 更多...

函数

template<typename T, enable_if_t< is_base_of_v< istringify< T >, T >, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string (const T &obj)
 将实现了istringify接口的对象转换为字符串
NEFORCE_NODISCARD constexpr float32_t to_float32 (const string_view sv, size_t *idx=nullptr)
 将字符串转换为32位浮点数
NEFORCE_NODISCARD constexpr float64_t to_float64 (const string_view sv, size_t *idx=nullptr)
 将字符串转换为64位浮点数
NEFORCE_NODISCARD constexpr decimal_t to_decimal (const string_view sv, size_t *idx=nullptr)
 将字符串转换为decimal浮点数
NEFORCE_NODISCARD constexpr int64_t to_int64 (const string_view sv, size_t *idx=nullptr, const int base=10)
 将字符串转换为64位有符号整数
NEFORCE_NODISCARD constexpr uint64_t to_uint64 (const string_view sv, size_t *idx=nullptr, const int base=10)
 将字符串转换为64位无符号整数
NEFORCE_NODISCARD constexpr int32_t to_int32 (const string_view sv, size_t *idx=nullptr, const int base=10)
 将字符串转换为32位有符号整数
NEFORCE_NODISCARD constexpr uint32_t to_uint32 (const string_view sv, size_t *idx=nullptr, const int base=10)
 将字符串转换为32位无符号整数
NEFORCE_NODISCARD constexpr int16_t to_int16 (const string_view sv, size_t *idx=nullptr, const int base=10)
 将字符串转换为16位有符号整数
NEFORCE_NODISCARD constexpr uint16_t to_uint16 (const string_view sv, size_t *idx=nullptr, const int base=10)
 将字符串转换为16位无符号整数
NEFORCE_NODISCARD constexpr int8_t to_int8 (const string_view sv, size_t *idx=nullptr, const int base=10)
 将字符串转换为8位有符号整数
NEFORCE_NODISCARD constexpr uint8_t to_uint8 (const string_view sv, size_t *idx=nullptr, const int base=10)
 将字符串转换为8位无符号整数
template<typename T, typename P = package_t<T>, enable_if_t< is_packaged_v< T > &&is_base_of_v< istringify< P >, P >, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string (const T &value)
 将可包装类型转换为字符串
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string (nullptr_t np)
 将空指针转换为字符串
template<typename IfEmpty, typename T>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string (const compressed_pair< IfEmpty, T, true > &obj)
 将压缩对(已压缩版本)转换为字符串
template<typename IfEmpty, typename T>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string (const compressed_pair< IfEmpty, T, false > &obj)
 将压缩对(未压缩版本)转换为字符串
template<typename T1, typename T2>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string (const pair< T1, T2 > &obj)
 将对转换为字符串
template<typename... Args>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string (const tuple< Args... > &tup)
 将元组转换为字符串
template<typename... Args, enable_if_t<(sizeof...(Args) > 1), int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string (Args &&... args)
 将多个参数转换为字符串并连接
template<typename T, enable_if_t< is_floating_point< T >::value, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string_with_precision (T x, int precision, bool scientific=false)
 将浮点数转换为字符串(带精度控制)
template<typename T, enable_if_t< is_floating_point< T >::value, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string_general (T x, int precision=6)
 将浮点数转换为字符串(通用格式)
template<typename T, enable_if_t< is_floating_point< T >::value, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string_fixed (T x, int precision=6)
 将浮点数转换为字符串(固定小数格式)
template<typename T, enable_if_t< is_floating_point< T >::value, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string_scientific (T x, int precision=6)
 将浮点数转换为字符串(科学计数法格式)

详细描述

字符串与数据类型之间的转换功能

函数说明

◆ to_decimal()

NEFORCE_NODISCARD constexpr decimal_t to_decimal ( const string_view sv,
size_t * idx = nullptr )
constexpr

将字符串转换为decimal浮点数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
返回
转换后的十进制浮点数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp525 行定义.

引用了 basic_string_view< CharT, Traits >::data().

◆ to_float32()

NEFORCE_NODISCARD constexpr float32_t to_float32 ( const string_view sv,
size_t * idx = nullptr )
constexpr

将字符串转换为32位浮点数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
返回
转换后的32位浮点数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp487 行定义.

引用了 basic_string_view< CharT, Traits >::data().

◆ to_float64()

NEFORCE_NODISCARD constexpr float64_t to_float64 ( const string_view sv,
size_t * idx = nullptr )
constexpr

将字符串转换为64位浮点数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
返回
转换后的64位浮点数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp506 行定义.

引用了 basic_string_view< CharT, Traits >::data().

◆ to_int16()

NEFORCE_NODISCARD constexpr int16_t to_int16 ( const string_view sv,
size_t * idx = nullptr,
const int base = 10 )
constexpr

将字符串转换为16位有符号整数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
base进制基数(0表示自动检测)
返回
转换后的16位有符号整数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp625 行定义.

引用了 numeric_traits< T, Dummy >::max(), numeric_traits< T, Dummy >::min() , 以及 to_int32().

◆ to_int32()

NEFORCE_NODISCARD constexpr int32_t to_int32 ( const string_view sv,
size_t * idx = nullptr,
const int base = 10 )
constexpr

将字符串转换为32位有符号整数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
base进制基数(0表示自动检测)
返回
转换后的32位有符号整数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp585 行定义.

引用了 basic_string_view< CharT, Traits >::data().

被这些函数引用 boolean::parse(), to_int16() , 以及 to_int8().

◆ to_int64()

NEFORCE_NODISCARD constexpr int64_t to_int64 ( const string_view sv,
size_t * idx = nullptr,
const int base = 10 )
constexpr

将字符串转换为64位有符号整数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
base进制基数(0表示自动检测)
返回
转换后的64位有符号整数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp545 行定义.

引用了 basic_string_view< CharT, Traits >::data().

◆ to_int8()

NEFORCE_NODISCARD constexpr int8_t to_int8 ( const string_view sv,
size_t * idx = nullptr,
const int base = 10 )
constexpr

将字符串转换为8位有符号整数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
base进制基数(0表示自动检测)
返回
转换后的8位有符号整数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp658 行定义.

引用了 numeric_traits< T, Dummy >::max(), numeric_traits< T, Dummy >::min() , 以及 to_int32().

◆ to_string() [1/8]

template<typename... Args, enable_if_t<(sizeof...(Args) > 1), int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string ( Args &&... args)

将多个参数转换为字符串并连接

模板参数
Args参数类型
参数
args参数
返回
连接后的字符串

在文件 to_string.hpp239 行定义.

引用了 forward() , 以及 to_string().

◆ to_string() [2/8]

template<typename IfEmpty, typename T>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string ( const compressed_pair< IfEmpty, T, false > & obj)

将压缩对(未压缩版本)转换为字符串

模板参数
IfEmpty空基类类型
T值类型
参数
obj压缩对
返回
格式为"{ value, empty }"的字符串

在文件 to_string.hpp157 行定义.

引用了 to_string() , 以及 compressed_pair< IfEmpty, T, Compressed >::value.

◆ to_string() [3/8]

template<typename IfEmpty, typename T>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string ( const compressed_pair< IfEmpty, T, true > & obj)

将压缩对(已压缩版本)转换为字符串

模板参数
IfEmpty空基类类型
T值类型
参数
obj压缩对
返回
值的字符串表示

在文件 to_string.hpp145 行定义.

引用了 to_string() , 以及 compressed_pair< IfEmpty, T, Compressed >::value.

◆ to_string() [4/8]

template<typename T1, typename T2>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string ( const pair< T1, T2 > & obj)

将对转换为字符串

模板参数
T1第一个类型
T2第二个类型
参数
obj
返回
格式为"{ first, second }"的字符串

在文件 to_string.hpp169 行定义.

引用了 pair< T1, T2 >::first, pair< T1, T2 >::second , 以及 to_string().

◆ to_string() [5/8]

template<typename T, enable_if_t< is_base_of_v< istringify< T >, T >, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string ( const T & obj)

将实现了istringify接口的对象转换为字符串

模板参数
T对象类型
参数
obj要转换的对象
返回
对象的字符串表示

全局辅助函数,用于方便地调用实现了istringify接口的对象的to_string方法。 仅当T是istringify<T>的派生类时可用。

在文件 istringify.hpp68 行定义.

◆ to_string() [6/8]

template<typename T, typename P = package_t<T>, enable_if_t< is_packaged_v< T > &&is_base_of_v< istringify< P >, P >, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string ( const T & value)

将可包装类型转换为字符串

模板参数
T可包装类型
参数
value要转换的值
返回
字符串表示

通过包装类型进行字符串转换,要求包装类型实现了istringify接口。

在文件 to_string.hpp36 行定义.

引用了 to_string().

被这些函数引用 to_string(), to_string(), to_string(), to_string() , 以及 to_string().

◆ to_string() [7/8]

template<typename... Args>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string ( const tuple< Args... > & tup)

将元组转换为字符串

模板参数
Args元组元素类型
参数
tup元组
返回
字符串表示

在文件 to_string.hpp212 行定义.

◆ to_string() [8/8]

NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string ( nullptr_t np)

将空指针转换为字符串

参数
np空指针
返回
字符串"nullptr"

在文件 to_string.hpp45 行定义.

◆ to_string_fixed()

template<typename T, enable_if_t< is_floating_point< T >::value, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string_fixed ( T x,
int precision = 6 )

将浮点数转换为字符串(固定小数格式)

模板参数
T浮点数类型
参数
x要转换的值
precision精度
返回
字符串表示

在文件 to_string.hpp559 行定义.

被这些函数引用 formatter< T, enable_if_t< is_floating_point_v< T > > >::operator()().

◆ to_string_general()

template<typename T, enable_if_t< is_floating_point< T >::value, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string_general ( T x,
int precision = 6 )

将浮点数转换为字符串(通用格式)

模板参数
T浮点数类型
参数
x要转换的值
precision精度
返回
字符串表示

在文件 to_string.hpp547 行定义.

被这些函数引用 formatter< T, enable_if_t< is_floating_point_v< T > > >::operator()().

◆ to_string_scientific()

template<typename T, enable_if_t< is_floating_point< T >::value, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string_scientific ( T x,
int precision = 6 )

将浮点数转换为字符串(科学计数法格式)

模板参数
T浮点数类型
参数
x要转换的值
precision精度
返回
字符串表示

在文件 to_string.hpp571 行定义.

被这些函数引用 formatter< T, enable_if_t< is_floating_point_v< T > > >::operator()().

◆ to_string_with_precision()

template<typename T, enable_if_t< is_floating_point< T >::value, int > = 0>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string_with_precision ( T x,
int precision,
bool scientific = false )

将浮点数转换为字符串(带精度控制)

模板参数
T浮点数类型
参数
x要转换的值
precision精度
scientific是否使用科学计数法
返回
字符串表示

在文件 to_string.hpp535 行定义.

◆ to_uint16()

NEFORCE_NODISCARD constexpr uint16_t to_uint16 ( const string_view sv,
size_t * idx = nullptr,
const int base = 10 )
constexpr

将字符串转换为16位无符号整数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
base进制基数(0表示自动检测)
返回
转换后的16位无符号整数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp642 行定义.

引用了 numeric_traits< T, Dummy >::max() , 以及 to_uint32().

◆ to_uint32()

NEFORCE_NODISCARD constexpr uint32_t to_uint32 ( const string_view sv,
size_t * idx = nullptr,
const int base = 10 )
constexpr

将字符串转换为32位无符号整数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
base进制基数(0表示自动检测)
返回
转换后的32位无符号整数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp605 行定义.

引用了 basic_string_view< CharT, Traits >::data().

被这些函数引用 to_uint16() , 以及 to_uint8().

◆ to_uint64()

NEFORCE_NODISCARD constexpr uint64_t to_uint64 ( const string_view sv,
size_t * idx = nullptr,
const int base = 10 )
constexpr

将字符串转换为64位无符号整数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
base进制基数(0表示自动检测)
返回
转换后的64位无符号整数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp565 行定义.

引用了 basic_string_view< CharT, Traits >::data().

◆ to_uint8()

NEFORCE_NODISCARD constexpr uint8_t to_uint8 ( const string_view sv,
size_t * idx = nullptr,
const int base = 10 )
constexpr

将字符串转换为8位无符号整数

参数
sv要转换的字符串视图
idx可选参数,存储转换结束位置索引
base进制基数(0表示自动检测)
返回
转换后的8位无符号整数
异常
typecast_exception转换失败时

在文件 to_numerics.hpp675 行定义.

引用了 numeric_traits< T, Dummy >::max() , 以及 to_uint32().