我的s1是string类型的、我把它当成char数组来处理、S1[i]先进行转换为double类型的nTemp。 但是调试走到粗体不分就开始报错,如下图所示。S1:='�9�0D'; for i := Length(S1)-1 downto 2 do begin nTemp:=StrTofloat(S1[i]); edit1.Text:=floattostr(nTemp); exit;