c++數字和字符之間的轉化


關於C++中數與字符之間的轉化


在c++中我們經常遇到需要把一個數變成字符,或者把字符變為一個數,c++中沒有直接的轉化函數,故我們需要自己去寫函數去轉化,這里我將介紹兩種比較簡單的方法:

法一:

  • sprintf()函數把一個數字如何變成一個字符串:
  float a=23.309774;
	char ss[8];
	sprintf(ss,"%lf",a);

使用這種方法直接將數字a變成了字符串ss,值得注意的是,這種是把數字轉化為數組,可以通過ss[i]這種方式提取任何元素,ss數組的大小一般定為數字的位數。
此處用到了部分c語言知識,可以參考下面知識:


如果是int型,則應變化相應的部分。

  • sscanf()函數把一個字符變為一個數字:
char str[]="12233";
	int a;
	sscanf(str,"%d",&a);
	cout<<a<<endl;
	cout<<a+22<<endl;

法二:

利用stringstream流來完成。
使用前必須添加#include "sstream"
*將數字轉化為字符:

int a=222;
	string s;
	stringstream res;
	res<<a;
	res>>s;
	cout<<s<<endl;
	cout<<s+"anbb";

*將字符數字轉化為double型數字:

float  a;
	string s="1234.4";
	stringstream res;
	res<<s;
	res>>a;
	cout<<a<<endl;
	cout<<a+2.3;
```;
可根據自己的需要,選擇合適的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM