⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wfmt.c

📁 unix环境下c语言屏幕编程开发
💻 C
字号:
#include "../inc/screen.h"/* *	金额格式输出 *	 * 例: arg->in = 1543785.23, arg->out = "  1,543,785.23". *     若 arg->in 超过 14 位数字(不包括'.'), arg->out = " ***,***,***,***.**". * */wdfmt(arg)struct	dfrec	*arg;{	char	str[16];	int	i,j;/*	double	fabs();*//*	if(fabs(arg->in) >= 100000000000000.00)	{		sprintf(arg->out," ***,***,***,***.**");		return(FALSE);	}*/	sprintf(str,"%15.2f",arg->in);	for(i = 0,j = 0;i < 16;i++,j++)	{		arg->out[19 - j] = str[15 - i];		if((i==6 || i==9 || i==12) && str[14-i]>='0' && str[14-i]<='9')		{			j++;			arg->out[19 - j] = ',';		}	}	while(j != 20)	{		arg->out[19 - j] = ' ';		j++;	}	return(TRUE);}wsfmt(arg)struct	sfrec	*arg;{	char	str[12];	int	i,j;	sprintf(str,"%11ld",arg->in);	for(i = 0,j = 0;i < 12;i++,j++)	{		arg->out[14 - j] = str[11 - i];		if(i == 2)		{			j++;			arg->out[14 - j] = '.';		}		if((i==5 || i==8) && str[10-i]>='0' && str[10-i]<='9')		{			j++;			arg->out[14 - j] = ',';		}	}	while(j != 15)	{		arg->out[14 - j] = ' ';		j++;	}	if(arg->out[12] == SP)		arg->out[12] = '0';	if(arg->out[10] == SP)		arg->out[10] = '0';	return(TRUE);}wdfmt0(arg)struct	dfrec	*arg;{	int	i;	i = 0;	wdfmt(arg);	while(i < 19 && arg->out[i] == SP)		i++;	arg->out[i-1] = '$';}wsfmt0(arg)struct	sfrec	*arg;{	int	i;	i = 0;	wsfmt(arg);	while(i < 15 && arg->out[i] == SP)		i++;	arg->out[i-1] = '$';}

⌨️ 快捷键说明

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