1. 程式人生 > >c++實現atof()函式,將字串轉換成浮點數

c++實現atof()函式,將字串轉換成浮點數

直接貼程式碼,試著寫這些,可以增加對c++的理解吧~

期待更好的演算法

#include<iostream>
#include<stdlib.h>
#include<string>
using namespace std;

double change(char *input)
{
	int i=0,count1=1;
	double input_int1=0,input_xs1=0,input_1=0;
	while(*(input+i)!='\0')
	{
		while(*(input+i)>='0'&&*(input+i)<='9')
		{
			input_int1=input_int1*10 + *(input+i) - '0';
			i++;
		}
		i++;
		while(*(input+i)>='0'&&*(input+i)<='9')
		{
			input_xs1=input_xs1*10 + *(input+i) - '0';
			count1*=10;
			i++;
		}
	}
	input_1=input_int1+input_xs1/count1;
	return input_1;
}

int main()
{
	char *input;
	double sum=0;
	input=(char*)malloc(10);
	cout<<"輸入字串數:";
	gets(input);

	sum=change(input);
	cout<<"轉化成浮點數:"<<sum<<endl;

	system("pause");
	return 0;
}