70,037
社区成员
发帖
与我相关
我的任务
分享
函数名称: atof
函数原型: double atof(char *str)
函数功能: 将字符串转换成一个双精度数值
函数返回: 转换后的数值
参数说明: str-待转换浮点型数的字符串
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
float f;
char *str="12345.67";
f=atof(str);
printf("string=%s float=%f",str,f);
return 0;
}
函数名称: sprintf
函数原型: int sprintf (char *buffer,const char *format,… )
函数功能: buffer写入的缓冲区
函数返回: 写入的字符数(不包括终止符)
参数说明:
所属文件: <stdio.h>
#include <stdio.h>
#include <math.h>
int main()
{
char buffer[80];
sprintf(buffer,"An approximation of Pi is %f",M_PI);
puts(buffer);
return 0;
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *fun(char *s, char ch);
int main()
{
char s[50] = "12.00100";
printf("s=%s\n", s);
fun(s, '.');
printf("s=%s\n", s);
return 0;
}
char *fun(char *s, char ch)
{
char *p, *q;
int len = strlen(s), i;
p = strchr(s, ch);
if(p == NULL) {
return s;
}
if(*(s+len-1) != '0') {
return s;
}
for(i = len-1; s[i] != *p && s[i] == '0'; i--) {
s[i] = '\0';
}
if(s[i] == *p) {
s[i] = '\0';
}
return s;
}
#include <stdio.h>
#include <string.h>
void f(char *s)
{
int i,j;
i=j=strlen(s);
while(s[--i] != '.' && i>0);
while(s[--j] == '0' && j>0);
if (i!=0) s[++j]='\0';
printf("%s\n",s);
}
int main()
{
char a[] = "12.345000";
char b[] = "12345000";
f(a);
f(b);
return 0;
}char *strip(char *s) {
char *dot = s;
char *zero = NULL;
for (; *dot; ++dot) {
switch (*dot) {
case '.': zero = (char *)1; break;
case '0': if (zero == (char *)1) zero = dot; break;
default: if (zero) zero = (char *)1; break;
}
}
if (zero && zero != (char *)1) *zero = '\0';
return s;
}#include "stdafx.h"
#include <stdlib.h>
void TranslatForm(TCHAR* pBuf, int nLen)
{
TCHAR* pFlag = _tcschr(pBuf, _T('.'));
if(NULL != pFlag)
{
TCHAR ch = _T('\0');
for(pFlag = pBuf+nLen-1; pFlag >= pBuf; pFlag--)
{
ch = *pFlag;
if(ch != _T('0'))
{
break;
}
}
pBuf[pFlag-pBuf] = _T('\0');
}
_tprintf(_T("%s\r\n"), pBuf);
}
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR buf1[] = _T("12.003450000");
TCHAR buf2[] = _T("12003450000");
TranslatForm(buf1, _tcslen(buf1));
TranslatForm(buf2, _tcslen(buf2));
return 0;
}
char *func(char *s)
{
char *p = s;
if (s == NULL)
return NULL;
while(*p)
{
if (*p == '.')
break;
p++;
}
if (*p == 0)
return s;
else
{
while(*p)
{
char *pjudge = p;
while(*pjudge++ == '0')
{
if (!*pjudge)
{
(*(p - 1 ) == '.') ? (*(p - 1 ) = 0) : (*p = 0);//必要时去掉.
return s;
}
}
p++;
}
return s;
}
}
#include "stdafx.h"
#include <stdlib.h>
void TranslatForm(TCHAR* pBuf, int nLen)
{
TCHAR* pFlag = _tcschr(pBuf, _T('.'));
if(NULL != pFlag)
{
pFlag = _tcschr(pFlag, _T('0'));
pBuf[pFlag-pBuf] = _T('\0');
}
_tprintf(_T("%s\r\n"), pBuf);
}
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR buf1[] = _T("12.3450000");
TCHAR buf2[] = _T("123450000");
TranslatForm(buf1, _tcslen(buf1));
TranslatForm(buf2, _tcslen(buf2));
return 0;
}
#include<stdio.h>
#include<stdlib.h>
char *func(char *s)
{
char *pslow = s;
char *pfast;
if (s == NULL)
return NULL;
while(*pslow)
{
if (*pslow == '.')
break;
pslow++;
}
if (*pslow == 0)
return s;
else
{
pfast = pslow + 1;
while(*pslow)
{
char *pjudge = pslow;
while(*pjudge++ == '0')
{
if (!*pjudge)
{
(*(pslow - 1 ) == '.') ? (*(pslow - 1 ) = 0) : (*pslow = 0);//必要时去掉.
return s;
}
}
*++pslow = *pfast++;
}
return s;
}
}
int main()
{
int i;
char array[][100] =
{
"1226",
"1226.00",
"1226.00123",
"1226.0012300",
"1226.001000101",
"1226.101000101000",
"1226.00000000000000",
};
for (i = 0; i < sizeof (array)/sizeof (array[0]); i++)
printf("%s\n", func(array[i]));
system("pause");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
char *func(char *s)
{
char *pslow = s;
char *pfast;
if (s == NULL)
return NULL;
while(*pslow)
{
if (*pslow == '.')
break;
pslow++;
}
pfast = pslow + 1;
if (*pslow == 0)
return s;
else
{
while(*pslow)
{
char *pjudge = pslow;
while(*pjudge++ == '0')
{
if (!*pjudge)
{
(*(pslow - 1 ) == '.') ? (*(pslow - 1 ) = 0) : (*pslow = 0);//必要时去掉.
return s;
}
}
*++pslow = *pfast++;
}
return s;
}
}
int main()
{
int i;
char array[][100] =
{
"1226",
"1226.00",
"1226.00123",
"1226.0012300",
"1226.001000101",
"1226.101000101000",
"1226.00000000000000",
};
for (i = 0; i < sizeof (array)/sizeof (array[0]); i++)
printf("%s\n", func(array[i]));
system("pause");
return 0;
}