60.c

来自「提供大量C代码来实现不同功能」· C语言 代码 · 共 49 行

C
49
字号
#include "stdio.h"
#include "math.h"
#include "string.h"

/*将浮点数转化为字符串*/
/* 参数说明 data:需转换的浮点数;s:输出字符串;len:转换后的长度*/
void float2str(double data,char *s,int len)
{
	int dec,sign,i, curr;
	char *s1,s2[100],s3[100];
	s2[0]=0;
	s3[0]=0;
	curr = 0;
	i = 0;
	s1 = NULL;
	s1 = fcvt(data,len,&dec,&sign);
	if ( sign )
	{
		s[curr++] = '-';
	}
	while ( i < strlen ( s1 ) )
	{
		if ( i == dec && (fabs(data) < 1.0 ))
		{
			s[ curr++ ] = '0';
			s[ curr++ ] = '.';
		}
		else if ( i == dec )
		{
			s[ curr++ ] = '.';
		}
		s[ curr++ ] = s1 [ i++ ];
	}
	s [ curr ] = '\0';
}

void main()
{
	double test;
	char string1[20];
	int len;
	len = 8;
	test = -3.1415926;
	float2str( test, string1, len );
	printf ( "source:%2.10f\nconvert string:%s\n", test, string1 );
	test = 0.31415926;
	float2str( test, string1, len );
	printf ( "source:%2.10f\nconvert string:%s\n", test, string1 );
}

⌨️ 快捷键说明

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