沒標明是要哪種語言,我來亂入
vc++ .net
想的到的
.12345 x
012345 x
主要大概是補上這兩個,當然這方面要把視為無錯誤也是可行
另外0.1230 <--?在想要不要也加入
看來我的程式還是很差,寫這麼長(雖然有小小努力一下簡化&速度考慮)
不知道能不能更有效率一些
private: System::Void TextCheck() {
array<Char>^ATemp;
int i,j=0;
ATemp=(textBox1->Text)->ToCharArray();
for(i=0;i<ATemp->GetLength(0);i++)
{
if(ATemp[i]==0x2E)
{
j++;
if(j>1)
{
MessageBox::Show(L"只能輸入一個小數點",L"輸入錯誤");
return;
}
}
else
{
if((ATemp[i]<0x30)||(ATemp[i]>0x39))
{
MessageBox::Show(L"只能輸入數字與小數點",L"輸入錯誤");
return;
}
}
}
i--;
if(j!=0)
{
if((ATemp[i]==0x2E)||(ATemp[0]==0x2E))
{
MessageBox::Show(L"第一位或最後一位數不得為小數點",L"輸入錯誤");
return;
}
}
else
{
if(ATemp[0]==0x30)
{
MessageBox::Show(L"第一位數不得為0",L"輸入錯誤");
return;
}
}
}
|