C语言删除有用数(浮点数)后面的0
来源:互联网 发布:维普数据库电话 编辑:程序博客网 时间:2024/06/06 00:01
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void RemoveZero(char *pStr,char *pOutStr)
- {
- int iRes = 0 ;
- int iTemp = 0 ;
- int iNum = 0 ;
- char caOutput[20] ;
- memset(caOutput,NULL,sizeof(caOutput));
- iRes = strlen(pStr);
- iTemp = iRes ;
- iRes -= 1 ;
- for(iRes; iRes>=0; iRes--)
- {
- if(pStr[iRes] == '0' || pStr[iRes] == '.')
- {
- ++iNum;
- if(iNum == iTemp)
- {
- strcpy(caOutput,"0");
- }
- continue ;
- }else
- if(pStr[iRes] != '0' && pStr[iRes] != '.')
- {
- strncpy(caOutput,pStr,iTemp-iNum);
- break ;
- }else
- if(pStr[iRes] == '.')
- {
- strncpy(caOutput,pStr,iTemp-iNum);
- break ;
- }
- }
- strcpy(pOutStr,caOutput);
- }
- int main()
- {
- double dRate = 0.0000 ;
- char caSecPread[20] ;
- char caOutput[20] ;
- memset(caSecPread,NULL,sizeof(caSecPread));
- memset(caOutput,NULL,sizeof(caOutput));
- sprintf(caSecPread,"%lf",dRate);
-
- RemoveZero(caSecPread,caOutput);
- printf("Output string is ==> <%s>/n",caOutput);
- return 0;
- }