double StrToNum (char * str)
{
int i, j, k;
int length;
float num[20];
double result = 0.0;
for (i=0; str[i]!='.' && str[i]!='\0'; i++)
{
if (str[i] == '\0')
break;
}
int integerPart = i;
int intPart = i;
length = strlen(str);
for (i=0; i<length; i++, intPart--)
{
num[i] = 1;
// 整数部分
for (j=0; j<intPart-1; j++)
{
num[i] *= 10;
}
// 小数部分
num[integerPart] = 0;
for (k=0; k<i-integerPart;k++)
{
num[i] *= 0.1;
}
}
for (i=0; i<length; i++)
{
switch (str[i])
{
case '0': result += 0 * num[i]; break;
case '1': result += 1 * num[i]; break;
case '2': result += 2 * num[i]; break;
case '3': result += 3 * num[i]; break;
case '4': result += 4 * num[i]; break;
case '5': result += 5 * num[i]; break;
case '6': result += 6 * num[i]; break;
case '7': result += 7 * num[i]; break;
case '8': result += 8 * num[i]; break;
case '9': result += 9 * num[i]; break;
}
}
if (str[0]=='-')
return -1*result;
else
return result;
}
以字符串形式输入实数,转换成double型
最新推荐文章于 2023-07-06 18:01:57 发布