一、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; }