我用的是ADO连到ACCESS数据库。假设表的名称是a:再假设其中的一个字段名称是“评价结果”,但是我想要求它的值的格式是(0.2,0.3,0.5),再假设另外一个字段名称是“期望表现”,其记录为(0.3,0.3,0.4),并且我想它不是string格式的而是float格式的因为我要在程序中执行矩阵的乘法,不知道该怎么办啊?

解决方案 »

  1.   

    楼上的,先谢谢!我的意思是在添加记录的时候每个字段是按照(0.2,0.3,0.5)的格式,而不能将0.2,0.3,0.5分开来输入,也就是说我是要用这条记录来进行矩阵的乘法,也就是说怎么样在程序中把string格式的(0.2,0.3,0.5)读成float格式的(0.2,0.3,0.5)呢?
      

  2.   

    调用StrToFloat函数,把String类型的转换成Float类型的就可以了
      

  3.   

    我想只有自己写循环来转换了:
    Str:='0.2,0.3,0.5';
    Result[Count]储存Float型结果,Count为元素个数。
    for i:=0 to Count-1 do
    begin
      if Pos(',',Str)=0 then
      begin
        Result[i]:=StrToFloat(Str);
        break;
      end
      else
      begin
        Result[i]:=StrToFloat(Copy(Str,1,Pos(','Str)-1));
        Str:=Copy(Str,Pos(',',Str)+1,Length(Str)-Pos(',',Str));
      end;  
    end;保险起见,可以加上异常处理。
      

  4.   

    好象搞不定啊,heixiu1980(迷茫ing),可否解释一下以下两句的意思啊?谢谢:
    Result[i]:=StrToFloat(Copy(Str,1,Pos(','Str)-1));
       Str:=Copy(Str,Pos(',',Str)+1,Length(Str)-Pos(',',Str));
      

  5.   

    第一句取第一个逗号前的数字,并转成float型
    第二句把原字符串第一个逗号和第一个逗号之前的字符去掉
    这种方法肯定可以,但要注意逗号是半角还是全角的,
    也就是'0.2,0.3,0.5'里的逗号和程序里的逗号必须是一样的。
      

  6.   

    好了,终于搞定了,谢谢heixiu1980(迷茫ing),接分吧!