ftoa 浮點(diǎn)數轉化為字符串
atof 數字字符串字符串轉化為雙精度浮點(diǎn)數
在C++編程中,整數轉化為字符串、字符串轉化為整數或浮點(diǎn)數很常用,尤其是在linux下編程。
其中,VC下提供了itoa和atoi函數可以實(shí)現整數轉化為字符串和字符串轉化為整數。調用方法是:
#include<stdlib>
int main()
{
int n = 123;
char ch = itoa(n);
n = atoi(ch);
return 0;
}
不過(guò)VC并未提供字符串轉化為浮點(diǎn)數的函數
而linux下連整數與字符串之間轉化的函數都沒(méi)提供。所以這里順手寫(xiě)了三個(gè)函數可供參考
整數轉化為字符串:
#include<string>
#include<sstream>
string int2str(int &i) {
string s;
stringstream ss(s);
ss << i;
return ss.str();
}
調用了sstream和string兩個(gè)庫。
字符串轉化為整數:
int char2int(char ch[])
{
int num = 0;
for(int i = 0; ch[i]; i++)
{
num = num*10 + ch[i] - '0';
}
return num;
}
字符串轉化為浮點(diǎn)數:
double char2double(char ch[])
{
double intg = 0, fl = 0;
int flag = 0;
for(int i = 0; ch[i]; i++)
{
if(!flag)
{
if(ch[i] == '.')flag = 1;
else
{
intg = intg*10 + ch[i] - '0';
}
}
else
{
fl = fl*10 + ch[i] - '0';
flag++;
}
}
for(int i = flag; i > 1; i--)
{
fl /= 10;
}
return intg + fl;
}
由于要分別考慮整數和小數部分,這個(gè)程序有點(diǎn)長(cháng)且不是那么美觀(guān)