stoll函数和std::to_string函数

简介: stoll函数和std::to_string函数

stoll函数

stoll是C++标准库 <string> 中的一个函数,全称为std::stoll,它的作用是将字符串(std::string 类型)转换为带符号的长整型(long long int 类型)。这个函数可以帮助程序员将从输入、文件或其他文本源得到的字符串形式的数字转换成可以进行数学计算的整数类型

函数原型如下:
long long stoll(const std::string& str, size_t* idx = 0, int base = 10);
参数说明:
  • str: 要转换的字符串。
  • idx(可选): 一个指向size_t类型的指针,用于接收转换过程中遇到的第一个无法转换为数字字符的位置索引。如果不关心这个值,可以传入nullptr
  • base(可选): 指定转换所使用的基数,合法值范围是2至36,其中10代表十进制(默认值),2代表二进制,8代表八进制,16代表十六进制等。
示例用法:
#include <string>
#include <iostream>
int main() {
    std::string numberString = "1234567890123";
    long long number; 
    try {
        number = std::stoll(numberString);
        std::cout << "The converted number is: " << number << std::endl;
    } catch (std::invalid_argument& e) {
        std::cerr << "Invalid argument: " << e.what() << '\n';
    } catch (std::out_of_range& e) {
        std::cerr << "Out of range: " << e.what() << '\n';
    }
    return 0;
}

在此示例中,如果numberString是一个有效的十进制数字符串,stoll函数将会把它转换为long long类型的整数并赋值给number。如果字符串无法转换为整数,例如包含非法字符或者数值超出long long的表示范围,stoll会抛出异常。

std::to_string函数

在C++编程语言中,`string t = to_string(x);`这条语句的作用是将一个整数或浮点数(假设这里的`x`是一个整数或浮点数)转换成字符串类型,并将结果存储到名为`t`的`std::string`对象中

`std::to_string`函数是C++11引入的标准库函数,它可以将各种内置数值类型(如`int`、`long long`、`float`、`double`等)转化为对应的字符串表示形式。

举例来说,如果`x`的值是123,执行上述语句后,字符串`t`将存储"123"这个字符串。

目录
相关文章
|
7月前
|
Java 索引
String字符串常用函数以及示例 JAVA基础
String字符串常用函数以及示例 JAVA基础
|
7月前
|
存储 缓存 测试技术
CMake String函数:如何巧妙地在cmake中操作字符串
CMake String函数:如何巧妙地在cmake中操作字符串
946 0
|
7月前
|
存储 安全 API
C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景
C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景
326 2
|
4月前
|
SQL 索引
在 SQL Server 中使用 STRING_AGG 函数
【8月更文挑战第5天】
1315 2
在 SQL Server 中使用 STRING_AGG 函数
|
4月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
|
4月前
|
存储 Serverless 数据处理
Python - len(string)函数
通过上述介绍和示例,我们可以清楚地看到,在Python中,`len()`函数是处理字符串以及其他可迭代对象长度的重要工具。它简单、易用,但在实际应用中却非常强大,无论是在基础编程还是在复杂的数据处理中,`len()`函数都扮演着不可或缺的角色。
94 10
|
4月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
55 0
|
5月前
|
C++
C++ string中的函数和常用用法
C++ 中string中的函数和常用用法
60 4
|
4月前
|
安全 编译器 C++
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
|
5月前
|
存储 C++
【C++】string类的使用③(非成员函数重载Non-member function overloads)
这篇文章探讨了C++中`std::string`的`replace`和`swap`函数以及非成员函数重载。`replace`提供了多种方式替换字符串中的部分内容,包括使用字符串、子串、字符、字符数组和填充字符。`swap`函数用于交换两个`string`对象的内容,成员函数版本效率更高。非成员函数重载包括`operator+`实现字符串连接,关系运算符(如`==`, `&lt;`等)用于比较字符串,以及`swap`非成员函数。此外,还介绍了`getline`函数,用于按指定分隔符从输入流中读取字符串。文章强调了非成员函数在特定情况下的作用,并给出了多个示例代码。