如何判断一个字符串是一个正确的数字
如何判断一个字符串是一个正确的数字 问题点数:0、回复次数:4Top
1 楼songpeiqiang(一天到晚游泳的鱼)回复于 2003-02-01 10:21:25 得分 0
给你一个char型的,自己改一下
if(point>STRLEN-1) return 0;
char strnum[20];
int n=0;
if(string[point]=='-'){//一开始就是负号
return 0;
}
while(string[point]=='('){
if(string[point+1]=='-'){//负号
point++;
return 0;
}
else if(string[point+1]=='(') push(0);
else break;
}
while((string[point]<'0' || string[point]>'9') && string[point]!='.') point++;
while((string[point]>='0' && string[point]<='9') || string[point]=='.'){
strnum[n++]=string[point++];
if(point>STRLEN-1) break;
}
strnum[n]='\0';
return (float)atof(strnum);Top
2 楼despider()回复于 2003-02-01 12:53:46 得分 0
compare函数的参数ch是指向字符串的指针, data是正确的数字, 返回1表示正确
int compare(char * ch, int data)
{
int i, n;
for (n=0; *ch!='\0'; n++, ch++);
ch--;
for (i=0; i<n; i++)
{
if (*ch!=data%10+'0')
return 0;
data=data/10;
ch--;
}
return 1;
}
good luck!!!Top
3 楼Brendax(小成)回复于 2003-02-01 14:38:39 得分 0
void CListsDlg::PopulateTree()
{
//这是按照字母顺序排列的代码,也许有点帮助吧
m_treeFiles.DeleteAllItems();
HTREEITEM hLetter[27];
for(int nChar = 'A'; nChar <= 'Z'; nChar ++)
hLetter[nChar - 'A'] = m_treeFiles.InsertItem((TCHAR*)&nChar);
hLetter[26] = m_treeFiles.InsertItem("Other");
HANDLE hFind;
WIN32_FIND_DATA dataFind;
BOOL bMoreFiles = TRUE;
CString strFile;
hFind = FindFirstFile(m_strMainDir + "\\*.*",&dataFind);
while(hFind != INVALID_HANDLE_VALUE && bMoreFiles == TRUE)
{
if(dataFind.dwFileAttributes == FILE_ATTRIBUTE_ARCHIVE)
{
int nChar = dataFind.cFileName[0];
if(islower(nChar))
nChar -= 32;
if(isalpha(nChar))
nChar -= 'A';
else
nChar = 26;
m_treeFiles.InsertItem(dataFind.cFileName,hLetter[nChar]);
}
bMoreFiles = FindNextFile(hFind,&dataFind);
}
FindClose(hFind);
}
Top
4 楼Damachli(马大哈)回复于 2003-02-01 14:50:40 得分 0
能不能把你的问题用文字表示出来?Top




