字符串转浮点型数值

字符串转浮点型数值函数–C语言

#include<stdio.h>
#include<string.h>
/*-----字符串转化为数字-----*/
/*-----只有当是数值型的字符串时,才可以完成字符串的转换。目前仅仅是完成了整数部分的转换,*/
 double Uintnum(char* digit)
{
    unsigned int num = 0;
    double  num1 = 0;
    while (*digit != '\0')
    {
        if (*digit >= '0' && *digit <= '9')
        {
            num = num * 10 + (*digit - '0');
            digit++;
        }
        else
        {
            if (*digit == '.')
            {
                digit++;
                break;
            }
            else
                num = 0;
            break;
        }
    }
    while(*digit != '\0')
        digit++;
    digit = digit - 1;
    while (*digit != '.')
    {
        if (*digit >= '0' && *digit <= '9')
        {
            num1 = num1*0.1 + (*digit - '0');
            digit--;
        }
        else
        {
            num1 = 0;
            break;
        }
    }
    return(num + num1*0.1);
}
void main()
{
    double data;
	char a[100];
	printf("please input string including any ASCII !  \n ");  //打印字符串

	scanf_s ("%s", a,30);   
    /*----借助scanf_s输入字符串,这个函数包含三个参数,第一个是输入类型,第二个是变量名,第三个是输入字符串的上限*/
    data = Uintnum(a);
	printf("%lf \n", data);

}

运行结果如下所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值