double string_to_float(uint8_t *str)
{
uint8_t i,j,k,negative=0;
#define s_temp str
double result=0.0,result_1=0.0;
for(i=0;i<10;i++)
{
j=str[i];
if(j==0||((j<'0'||j>'9')&&(j!='.')&&(j!='-')))break;
}
k=j=i; //数值的个数
for(i=0;i<j;i++) //查找小数点的位置,结束后小数点位于第i+1位
{
if(s_temp[i]=='.')break;
}
for(j=0;j<i;j++)
{
if(s_temp[j]=='-') {negative=1;continue;}
result = result*10+(s_temp[j]-'0');
}
j++; //加1后j=i+1,即小数点的位置
i=j; //第一个小数的位置
for(; j<k; j++)
{
if(s_temp[j]<'0'||s_temp[j]>'9')break; //非法字符,返回
result_1 = result_1*10+(s_temp[j]-'0');
}
for(j=0; j<(k-i); j++)
{
result_1 *= 0.1;
}
result += result_1;
if(negative)
{
result = -result;
}
return result;
}
相关文章
- 12-05将逗号分隔 的字符串转化成List
- 12-05用scanf输入字符串
- 12-05关于python字符串基本操作
- 12-05统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: Let's go to room 209. 输出样例: 5
- 12-05C++中int转为char 以及int 转为string和string 转int和空格分隔字符串
- 12-05将字符串以用二进制流的形式读入XML文件
- 12-05c – 如何检查字符串是否全部是小写字母和字母数字?
- 12-05LeetCode --- 字符串系列 --- 转换成小写字母
- 12-05C++与C字符串相关知识点
- 12-05类(传入的形参为指针形式)-字符串的实现