怎么判断文本框内有两个小数点 
或两个以上??用什么函数啊??

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        str: String;
        nPos, nLastPos: integer;
    begin
        str := 'fdsafds.fdasfsdfs.dfsdafds';
        nPos := Pos('.', str);
        nLastPos := LastDelimiter('.', str);
        if (nPos > 0) and (nLastPos > 0) and (nPos <> nLastPos) then
            ShowMessage('该字符串至少有两个''.''')
        else
            ShowMessage('该字符串不包含两个''.''');
    end;
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      i: integer;
      str: String;
    begin
      str := edit1.Text;
      i:=0;
      while pos('.',str)<>0 do
      begin
        delete(str,1,pos('.',str));
        inc(i);
      end;
      showmessage(str+'有'+inttostr(i)+'个小数点');
    end;
      

  3.   

    var      
       source:String;   
       Count:Integer;   
    begin   
       source:='fdsafds.fdasfsdfs.dfsdafds';    
       Count:=Length(source)-Length(StringReplace(source,'.','',[rfReplaceAll])));  
       ShowMessage('该字符串至少有'+inttostr(Count)+'个"."。');
    end;