C++ string转任意数值类型

本文展示了如何使用C++模板函数将字符串转换为不同类型的整数,包括__int8, __int16, __int32, __int64, uint8_t, uint16_t, uint32_t, uint64_t, float和double,并对布尔类型进行转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include "stdafx.h"
#include <iostream>
#include <sstream>
#include "stdint.h"
using namespace std;

template <class Type>
Type stringToNum(const string&str)
{
	istringstream iss(str);
	Type num;
	iss >> num;
	return num;
}

int _tmain(int argc, _TCHAR* argv[])
{
	string str1("100");
	cout<<stringToNum<__int8>(str1)<<endl;

	string str2("200");
	cout<<stringToNum<__int16>(str2)<<endl;

	string str3("300");
	cout<<stringToNum<__int32>(str3)<<endl;

	string str4("400");
	cout<<stringToNum<__int64>(str4)<<endl;

	string str5("500");
	cout<<stringToNum<uint8_t>(str5)<<endl;

	string str6("600");
	cout<<stringToNum<uint16_t>(str6)<<endl;

	string str7("700");
	cout<<stringToNum<uint32_t>(str7)<<endl;

	string str8("800");
	cout<<stringToNum<uint64_t>(str8)<<endl;

	string str9("123.123");
	cout<<stringToNum<float>(str9)<<endl;

	string str10("456.456456");
	cout<<stringToNum<double>(str10)<<endl;

	string str11("1");
	cout<<stringToNum<bool>(str11)<<endl;

	return 0;
}
http://blog.youkuaiyun.com/nohackcc/article/details/16987757
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值