- std::stol() :此函数将函数调用中作为参数提供的字符串转换为long int。它解析str,将其内容解释为指定基的整数,并以long int类型的值返回。
语法:
long int stol (const string& str, size_t* idx = 0, int base = 10)
参数: 该函数接受以下三个参数:
- str: 它指定一个以整数表示的字符串对象。
- idx :它指定一个指向size_t类型对象的指针,该对象的值由函数设置为数字值之后str中下一个字符的位置。参数也可以是空指针,在这种情况下不使用它。
- 基础 :它指定数字基数,以确定解释字符的数字系统。如果基数为0,则要使用的基数由序列中的格式确定。默认值为10。
返回值: 该函数将转换后的整数作为long int类型的值返回。
// CPP code for illustration
// of stol() function.
#include <bits/stdc++.h>
using
namespace
std;
int
main()
{
// converting decimal number.
string dec_num =
"9876543210"
;
cout <<
"dec_num = "
<<
stol(dec_num, nullptr, 10) <<
""
;
// converting hexadecimal number.
string hex_num =
"FFFFFF"
;
cout <<
"hex_num = "
<<
stol(hex_num, nullptr, 16) <<
""
;
// converting binary number.
string binary_num =
"1111111"
;
cout <<
"binary_num = "
<<
stol(binary_num, nullptr, 2) <<
""
;
return
0;
}
输出:dec_num = 9876543210 hex_num = 16777215 binary_num = 127
- std::stoll(): 此函数将函数调用中作为参数提供的字符串转换为long long int。它解析str,将其内容解释为指定基的整数,并以long long int类型的值返回。
语法:
long long int stoll (const string& str, size_t* idx = 0, int base = 10)
- 参数: 该函数接受以下三个参数:
- str: 此参数指定以整数表示的字符串对象。
- idx: 此参数指定指向size_t类型对象的指针,该对象的值由函数设置为数值后str中下一个字符的位置。此参数也可以是空指针,在这种情况下,不使用它。
- 基数: 此参数指定用于确定解释字符的数字系统的数字基数。如果基数为0,则其使用的基数由序列中的格式确定。默认基数为10。
返回值: 该函数将转换后的整数作为long int类型的值返回。
// CPP code for illustration
// of stoll() function.
#include <bits/stdc++.h>
using
namespace
std;
int
main()
{
// converting decimal number.
string dec_num =
"9876543210"
;
cout <<
"dec_num = "
<<
stoll(dec_num, nullptr, 10) <<
" "
;
// converting hexadecimal number.
string hex_num =
"FFFFFF"
;
cout <<
"hex_num = "
<<
stoll(hex_num, nullptr, 16) <<
""
;
// converting binary number.
string binary_num =
"1111111"
;
cout <<
"binary_num = "
<<
stoll(binary_num, nullptr, 2) <<
""
;
return
0;
}
输出:dec_num = 9876543210 hex_num = 16777215 binary_num = 127
错误和例外: 如果无法执行转换,则 无效的_参数 异常被抛出。如果读取的值超出了可表示值的范围长整型,则 无效的_参数 或者 超出范围 异常被抛出。
null
// CPP code for illustration of stoll() // function when invalid_argument // exception is thrown. #include <bits/stdc++.h> using namespace std; int main() { // An invalid input string that has no // integer part. string invalid_num = "abcf$#@de" ; // stoll() throws invalid_argument exception // when conversion process fails. try { cout << stoll(invalid_num) << "" ; } // catch invalid_argument exception. catch ( const std::invalid_argument){ cerr << "Invalid argument" << "" ; } return 0; } |
输出:
Runtime Errors: Invalid argument
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END