cocos2d-x学习之类型转换(转)
在做数据转换时,最好包含以下头文件
- #include <iostream>
- #include <cmath>
- #include <string>
- #include <sstream>
- USING_NS_CC;
- using namespace std;
在cocos2d-x中,也有一个格式刷:CCString(数据转换常常找她做中间人),那么我们要转换类型,可先将起始数据类型刷成CCString然后再转成目的数据类型,这个方法比较方便且实用。
//int 转 CCstring int num=5; CCString* ns=CCString::createWithFormat("%d",num); //CCstring 转 int int px = ns->intValue();//将CCString 转换为int的方法,转成float类型有 floatValue() //====================================== //CCString 转 char const char *string= ns->getCString(); //char 转 CCString CString.Format(”%s”,char *)//char 转cstring CCString* ns=CCString::createWithFormat("%s",char *); //====================================== //string 转 char const char *string=std::string("STRING").c_str(); char 转 string string s(char *); //====================================== //string 转 int std::string s("1234"); int n = std::atoi(s.c_str());//函数原型int atoi(const char *); //int 转 string int a=3; CCString* ns=CCString::createWithFormat("%d",a); string s=ns->m_sString; //====================================== //string 转 CCString std::string str = "123"; CCString* ns=CCString::createWithFormat("%s",str.c_str()); CCString 转 string std::string s= ns->m_sString;//ns是一个CCString*类型 //====================================== //char 转 int char *buf = "1122"; int n = std::atoi(buf); //int 转 char int a=3; CCString* ns=CCString::createWithFormat("%d",a); const char* s=ns->getCString();