数字字符串转换为数字.cpp

来自「数字字符串转换为数字 输入任一字符串,如果是由数字组成,则反回该数字,否则反回」· C++ 代码 · 共 58 行

CPP
58
字号
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<string.h>

float f(int p)
{
    int i;
    float s=1;
    for(i=1;i<=p;i++)
    s=s*0.1;
    return s;
}    

float change(char s[])
{
    float t=0,x=0,y=0;
    int n,m,i,j=0,k=0,p=1;
    n=m=strlen(s);
    for(i=0;i<n;i++)                                      //判断是否是数字字符串 
    {
        if((s[i]>='0'&&s[i]<='9')||s[i]=='.') 
        {
            if(s[i]=='.') j++;                            //判断有多少个小数点 
        }
        else return 0;
        if(j>1) return 0;                                 //只能有一个小数点 
    }  
    for(i=0;n>0;n--,i++)
    {
        if(s[i]=='.') k=1;
        if(k==0)
        {
            t=s[i]-'0';
            x=x*10+t;
        } 
        else
        {
            if(i==m-1) break;                             //防止s[i]越界 
            else
            {
                t=s[i+1]-'0';
                y=y+t*f(p);
                p++;
            }    
        }       
    }   
    return x+y;   
}    

int main()
{
    char a[]="0.1234";
    cout<<change(a)<<endl;
    getch();
    return 0;
}    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?