### 实现数值与字符串类型转换

在编写程序代码时，经常需要进行类型转换。例如，将整型转换为字符串，将字符串转换为实型等。例如，我们设计一个计算器应用程序，就需要实现这种类型转换，如图 1 所示。

图 1 计算器

在编辑框中显示的数据是文本类型，而计算器需要进行数值计算。因为，在设计计算器程序时需要将文本类型转换为数值类型才能够进行数学计算。为了方便进行数值类型转换，笔者设计了一个类型转换的类——CConvert，在程序中使用该类，可以非常方便的进行类型转换。实例设计过程如下：

（1）创建一个控制台应用程序。

（2）引用头文件。

#include "iostream.h"

#include <stdlib.h>

（3）定义一个 CConvert 类，实现字符串与数值类型的转换。

//构建类型转换类 CConvert

class CConvert

{

public:

//将整型转换为字符串

static bool IntToString(int nNumber, char szDes[]);

//将字符串转换为整型

static bool StringToInt(char szSrc[], int &nDes);

//将实型转换为字符串

static bool DoubleToString(double dblNumber, char szDes[]);

//将字符串转换为实型

static bool StringToDouble(char szSrc[], double &dblDes);

//将 int64 转换为字符串

static bool Int64ToString(__int64 nNumber, char szDes[]);

//将字符串转换为 int64

static bool StringToInt64(char szSrc[], __int64 &nDes);

};

提示：有关 CConvert 类的实现用户可以在“应用”模式中的“源码管理”的类库中找到。

（4）在 main 函数中调用 CConvert 类的 IntToString 方法将整数转换为字符串，调用 StringToDouble 方法将字符串转换为实数。

int main(int argc, char* argv[])

{

int nLength = 8868; //定义一个整数

char szLength[128] = {0}; //定义一个字符数组

CConvert::IntToString(nLength, szLength); //将整数转换为字符串

cout << "整型转换为字符串" << szLength << endl; //输出字符串

char *szPI = "3.14"; //定义一个字符指针

double dblPI;

CConvert::StringToDouble(szPI, dblPI); //将字符串转换为实数

cout << "字符串转换为实型" << dblPI << endl; //输出实数

return 0;

}

效果如图 2 所示。

图 2 效果演示