C++中数字和字符串的转换

1、字符串数字之间的转换

(1)string --> char *
   string str("OK");
   char * p = str.c_str();

(2)char * -->string
   char *p = "OK";
   string str(p);

(3)char * -->CString 
   char *p ="OK";
   CString m_Str(p);
   //或者
   CString m_Str;
   m_Str.Format("%s",p);

(4)CString --> char *
   CString str("OK");
   char * p = str.GetBuffer(0);
   ...
   str.ReleaseBuffer();

(5)string --> CString  
   CString.Format("%s", string.c_str());

(6)CString --> string
   string s(CString.GetBuffer(0));  
   GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间,CString对象不能动态增长了。

(7)double/float->CString
   double data;
   CString.Format("%.2f",data); //保留2位小数

(8)CString->double
   CString s="123.12";
   double   d=atof(s);   
 
(9)string->double
  double d=atof(s.c_str());

2、数字转字符串:使用sprintf()函数

char str[10];
int a=1234321;
sprintf(str,"%d",a);
--------------------
char str[10];
double a=123.321;
sprintf(str,"%.3lf",a);
--------------------
char str[10];
int a=175;
sprintf(str,"%x",a);//10进制转换成16进制,如果输出大写的字母是sprintf(str,"%X",a)
--------------------
char *itoa(int value, char* string, int radix); 
同样也可以将数字转字符串,不过itoa()这个函数是平台相关的(不是标准里的),故在这里不推荐使用这个函数。

3、字符串转数字:使用sscanf()函数

char str[]="1234321";
int a;
sscanf(str,"%d",&a);
.............
char str[]="123.321";
double a;
sscanf(str,"%lf",&a);
.............
char str[]="AF";
int a;
sscanf(str,"%x",&a); //16进制转换成10进制

另外也可以使用atoi(),atol(),atof().

4、使用stringstream类

用ostringstream对象写一个字符串,类似于sprintf() 
  ostringstream s1;
  int i = 22;
  s1 << "Hello " << i << endl;
  string s2 = s1.str();
  cout << s2;

用istringstream对象读一个字符串,类似于sscanf() 
  istringstream stream1;
  string string1 = "25";
  stream1.str(string1);
  int i;
  stream1 >> i;
  cout << i << endl;  // displays 25

时间: 2024-10-19 09:35:12

C++中数字和字符串的转换的相关文章

C++中数字与字符串之间的转换,别人的,

C++中数字与字符串之间的转换 1.字符串数字之间的转换 (1)string --> char *   string str("OK");   char * p = str.c_str(); (2)char * -->string   char *p = "OK";   string str(p); (3)char * -->CString    char *p ="OK";   CString m_Str(p);   //或者

C++中数字与字符串之间的转换

1.字符串数字之间的转换 (1)string --> char *   string str("OK");   char * p = str.c_str(); (2)char * -->string   char *p = "OK";   string str(p); (3)char * -->CString    char *p ="OK";   CString m_Str(p);   //或者   CString m_Str

js 中数字与字符串之间的转换

数字转换为字符串 var num  = 123: 1.num.toString 2."" + num 3.String(num) 将数字转化为格式化后的字符串 num.toFixed(2)   小数点后显示两位 toExponential() 科学计数法 toPrecision() 精确位数 原文地址:https://www.cnblogs.com/anqiang1995/p/10034558.html

js中数字转为字符串的几种用法

1.toString()方法 直接把数字用toString()方法转换 var number = 5; number.toString(); 2.加上空串 这个一般是我们在开发中常用的 var number = 5: var str = number + ' '; 这样str的类型自然就转化为string类型 3.自动转化 举个例子,一个div的透明度设置: div.style.opacity = 0.5; 这句代码中div.style.opacity执行完自动转为字符串类型.

js中数字转换为字符串 几种方法

a. 要把一个数字转换为字符串,只要给它添加一个空的字符串即可: var n = 100; var n_as_string = n + ""; b. 要让数字更加显式地转换为字符串,可以使用String()函数:  var string_value = String(number); c. 使用toString()方法:  string_value = number.toString(); Number对象的(基本的数字转换为Number对象,以便可以调用这个方法)toString()

java 数字转 字符串 互相转换

各种数字类型转换成字符串型:   String s = String.valueOf( value); // 其中 value 为任意一种数字类型.   字符串型转换成各种数字类型:   String s = "169";  byte b = Byte.parseByte( s );  short t = Short.parseShort( s );  int i = Integer.parseInt( s );  long l = Long.parseLong( s );  Floa

Java中如何将字符串数组转换成字符串

如果将"字符串数组"转换成"字符串",只能通过循环,没有其他方法: public static String getExecSqlString(String str){ StringBuffer sb = new StringBuffer(); String prefixStr = str.substring(0,str.indexOf("(")); String subStr = str.substring(str.indesOf("

Java数字与字符串的转换

数字转成字符串 String s = String.valueOf( value); // 其中 value 为任意一种数字类型 字符串转数字 String s = "169"; byte b = Byte.parseByte( s ); short t = Short.parseShort( s ); int i = Integer.parseInt( s ); long l = Long.parseLong( s ); Float f = Float.parseFloat( s )

JavaScript中数字与字符串相互转化

一.数字转换成字符串 ①Number类定义的toString()方法:这个方法可以接收表示转换基数(radix,范围在2~36之间)的可选参数,如果不指定此参数,转换规则将是基于十进制.例如: ②Number类定义的toFixed()方法:这个方法可以指定小数点后的位数.例如: ③Number类定义的toExponential()方法:这个方法使用指数记数法将数字转换为指数形式的字符串,其中小数点前只有一位,小数点后的位数则由参数指定.例如: ④Number类定义的toPrecision()方法