将数字转换为字符串
在日常编程中,我们经常需要将各类型的数字转换为字符串,这里介绍几种简单方法。本文没有介绍转换的具体算法。
1. 使用宏转换常量数字为字符串
定义如下的宏:
#define to_string(x) #x
则在代码中就可以将各种类型的数字转换为字符串。(这个宏可以将任意的代码中的字符串转换为C语言风格的字符串)。
例:
to_string(0.29)的结果为”0.29”;
to_string(string)的结果为”string”。
2. 使用stringstream
这是一个C++ 标准库定义的对象,在使用时要包含头文件sstream。例:
#include <sstream>
#include <iostream>
using std::cout;
using std::endl;
using std::stringstream;
int main()
{
stringstream ss;
double d = 0.29;
ss<<”This result is ”<< d <<”.”;
cout<<ss.str()<<endl;
return 0;
}
3. 使用sprintf
使用sprintf函数的原理和stringstream流的原理类似。例:
#include <stdio>
#include <string>
int main()
{
char ss[32] = “”;
double d = 0.29;
sprintf(ss, “%f”, d);
printf(“%s”, ss);
return 0;
}
这个函数现在被sprintf_s取代,因为后者多了一个size_t的参数,可以防止越界,所以更安全。
参考文章:
1. panpan3210,数值和字符串互相转换,http://panpan.blog.51cto.com/489034/107732
2. panpan3210,如何将数字(包括double型)转换为字符串,http://panpan.blog.51cto.com/489034/102813