C++程序设计语言之几种字符串转换成数字的方法

一、string转成数字

long String2Num(std::string str)
{
	return std::atol(str.c_str());
}

二、wstring转成数字

long WString2Num(std::wstring wstr)
{
	std::string str(wstr.begin(), wstr.end());
	str.assign(wstr.begin(), wstr.end());
	return std::atol(str.c_str());
}

三、u16string转成数字

long U16String2Num(std::u16string u16str)
{
	std::string str(u16str.begin(), u16str.end());
	str.assign(u16str.begin(), u16str.end());
	return std::atol(str.c_str());
}

四、u32string转成数字

long U32String2Num(std::u32string u32str)
{
	std::string str(u32str.begin(), u32str.end());
	str.assign(u32str.begin(), u32str.end());
	return std::atol(str.c_str());
}
#include <iostream>

long String2Num(std::string str)
{
	return std::atol(str.c_str());
}

long WString2Num(std::wstring wstr)
{
	std::string str(wstr.begin(), wstr.end());
	str.assign(wstr.begin(), wstr.end());
	return std::atol(str.c_str());
}

long U16String2Num(std::u16string u16str)
{
	std::string str(u16str.begin(), u16str.end());
	str.assign(u16str.begin(), u16str.end());
	return std::atol(str.c_str());
}

long U32String2Num(std::u32string u32str)
{
	std::string str(u32str.begin(), u32str.end());
	str.assign(u32str.begin(), u32str.end());
	return std::atol(str.c_str());
}


int main()
{
	long data;

	std::string str = "123456";
	std::wstring wstr = L"234567";
	std::u16string u16str = u"345678";
	std::u32string u32str = U"456789";

	data = String2Num(str);
	std::cout << data << std::endl;

	data = WString2Num(wstr);
	std::cout << data << std::endl;

	data = U16String2Num(u16str);
	std::cout << data << std::endl;

	data = U32String2Num(u32str);
	std::cout << data << std::endl;

	return 0;
}

Leave a Reply

Your email address will not be published. Required fields are marked *