C语言 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数 函数原型:double my_atof(char *str)

编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)

例如:“12.34“  返回12.34

“-123.34“ 返回-123.34

函数原型:doublemy_atof(char *str)

提示:

需要在函数中判断负号,小数点,还要判断是不是数字字符。在判断小数点时需定义一个计数器来计算小数点后数字字符的个数。

#include <stdio.h>
#include <math.h>
double my_atof(char *str)
{
    char *ch = str;
    int flag=1;
    int point=0;
    int count=0;
    double sum = 0;
    while(*ch !='\0')
        {
            if(*ch == '-')      //判断负号
            {
                flag = -1;
                ch++;
            }
            if(*ch == '.')
            {
                point=1;
                ch++;
            }
            if(*ch >= '0' && *ch <= '9')
            {
                sum=sum*10+(*ch-'0');
                ch++;
            }
            if(point==1)    //遇到小数点计数器加1
            {
                count++;

            }
        }
        sum=flag*sum*pow(10,-count);
    return sum;
}
int main()
{
    char *str="12.83";
    double n;
    n=my_atof(str);
    printf("%f\n",n);
    return 0;
}

时间: 2024-12-28 02:04:00

C语言 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数 函数原型:double my_atof(char *str)的相关文章

【C语言】将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)

#include <stdio.h> /* 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数.负浮点数) 例如:"12.34" 返回12.34 "-123.34" 返回-123.34 函数原型:double my_atof(char *str) {} */ double my_atof(char *str) { double m=0,n=0,x=1; int flag=1; int flag2=0; if(*str=='-') //

【C语言】编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)

/* 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数.负整数) 例如:"12" 返回12 "-123" 返回-123 函数原型:int my_atof(char *str) */ #include <stdio.h> int my_atof(char *str) { int flag=0; int m=0; if(*str=='-') { flag=1; str++; } while(*str!='\0') { if(*str<

【C语言】数字字符串转换成这个字符串对应的数字。

(1) int ascii_to_integer(char *str)函数实现. 要求:这个字符串参数必须包含一个或者多个数字,函数应该把这些数字转换为整数并且返回这个整数.如果字符串参数包含任何非数字字符,函数就返回零.不必担心算数溢出. 提示:你每发现一个数字,把当前值乘以10,并把这个值和新的数字所代表的值相加. 直接上代码: #include <stdio.h> #include <assert.h> int ascii_to_integer(char *str) { in

把数据库中有关枚举项值的数字字符串转换成文字字符串

标题可能无法表达我的本意.比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySecondChoice =1, MyThirdChoice = 2 } 数据库中,某表某字段保存值为"0,1,2",在显示的时候,我们希望是"第一个选择,第二个选择,第三个选择".如何做呢? 可以为枚举项上面标注自定义特性.先自定义一个特性如下: public class EnumDisplayNameAttribute : A

二进制字符串转换成中文字符串

//Value:二进制字符串如:11000111 Function ConvertBinToStr(Value : ansistring):ansistring; //把二进制数据转化为字符串 Var tempHex : ansistring; i, tempInt : integer; begin Result := ''; if trim(Value) = '' then Exit; tempHex := BinToHexEachOther(Value,true);//二进制转成十六进制 i

C# 解析16进制字符串。将16进制字符串转换成明文字符串

将诸如 字符串 “73 6F 75 6E 64 34 2F 64 65 6D 6F 31 32 38 2E 6D 70 33 00” 转换成明文的方法 方法定义: private static string HexStringToString(string hexString, Encoding encoding = null) { if (string.IsNullOrEmpty(hexString)) return string.Empty; if (encoding == null) en

用c语言实现 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)

<p align="left">例如:"12.34"  返回12.34</p><p align="left">        "-123.34" 返回-123.34</p><p align="left">函数原型:doublemy_atof(char *str)</p><p align="left">{}

json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

主要内容: 一.json相关概念 二.json字符串转换成json对象 (字符串-->JSON对象) 三.json对象转换成字符串(json对象-->字符串) 四.将值转换成字符串(值-->字符串) 五.字符串转成值(字符串-->值) 同步的交流学习社区:http://www.mwcxs.top/page/425.html 一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想

算法实战(八)字符串转换成整数

一.前言 这个题和第七题的类型有点相似,不过这个题目涉及到了一些字符串的处理,由于比较简单,加上在加班的时候,把活干完了,没啥事情可以做了,所以我干脆把这个题目也一起做了. 二.题目 题目:请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号:假如第一个非空字符是数字,则直接将其与之后连续的数字字符组