【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=='-')  //判断正负
	{
		flag2=1;
		str++;
	}
	while(*str!='\0')
	{
		if(*str<'0'|| *str >'9' )
		{
			if(*str =='.')   //判断小数点前后
			{
				flag=0;
				str++;
				continue;
			}
			return 0;
		}
		if(flag==1)  //小数点前整数部分
		{	m*=10;
			m+=*str-'0';
		}
		else  //小数部分
		{
			x*=0.1;
			n+=x*(*str-'0');
		}
		str++;
	}
	if(flag2==0)
		return m+n;
	else
		return (m+n)*-1;
}
int main()
{
	char s[100]={0};
	scanf("%s",s);
	printf("%f\n",my_atof(s));
	return 0;
}

时间: 2024-12-28 18:09:38

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

【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语言 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数 函数原型: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_at

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

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

PHP 数字金额转换成中文大写金额的函数 数字转中文

/** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖"; $c2 = "分角元拾佰仟万拾佰仟亿"; //精确到分后面就不要了,所以只留两个小数位 $num = round($num, 2); //将数字转化为整数 $num = $num * 100; if (strlen($

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

标题可能无法表达我的本意.比如,有这样一个枚举: 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,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想