C语言将两个数合并成一个小数

C语言将两个数(int、unsigned int)合并成一个小数(double、float)

今天碰到一个问题:需要将两个无符号整型合并成一个小数输出。输出的数的数据类型需要根据前面两个无符号整型合并起来的数据大小确定,如果float足够那就float,不够就double。(两个整型合并成一个小数会有一个出错点,挖坑,下一篇填

思路:1、先将两个数组成一个字符串
2、将字符串转换成float型
3、输出这个数

代码:

    char observable[25];
	double b;
	sprintf(observable, "%d.%d",item1,item2);
	sscanf(observable, "%lf", &b);

查了这两个函数的说明,太简单就不介绍了(他娘的没看懂 )反正就是:
sprintf是将两个数合成一个字符串,中间有个小数点不要忘了。
sscanf是将这个字符串转换成想要的数据类型。

有一点需要注意就是字符数组的大小,一定要能容纳下整个字符串,不然报错。

这里再介绍一下各种数据类型输出该怎么写(下面是常用的)
%d:十进制的int
%u:十进制的unsigned int
%f:浮点型
%lf:double型
%c:字符型(一次一个字符)
%s:字符串**(注意C语言中字符串和字符数组的区别!用%s去输出字符数组的时候会出现乱码!注意!)**

你可能感兴趣的:(C语言)