比如同一行中的某一cell的值等于另外 - 个cell与一个数的积

for i:=0 to stringgrid1.rowcount - 1 do
 stringgrid1.cells[1,i]:=floattostr(strtofloat(stringgrid1.cells[2,i]))*4
会报错,

 stringgrid1.cells[1,i]:=floattostr(strtofloatdel(stringgrid1.cells[2,i],0))*4的时候通过,结果是错的比如同一行中的某一cell的值等于另外 - 个cell与一个数的积应该怎样做?

解决方案 »

  1.   

    应该是stringgrid1.cells[1,i]:=floattostr(strtofloatdef(stringgrid1.cells[2,i],0))*4的时候通过,结果是错的
      

  2.   

    //试试这个:
    for i:=0 to stringgrid1.rowcount - 1 do
        stringgrid1.cells[1,i]:=floattostr(strtofloat(trim(stringgrid1.cells[2,i])))*4
      

  3.   

    不行,和以前的报错的是一样的
    说  ''is not floating point value
      

  4.   

    用到strtofloatdef的时到是不报错通过,但结果是错的
      

  5.   

    原因可能在这:注意StringGrid的网格的下标问题。
      

  6.   

    试试这个
    for i:=0 to stringgrid1.rowcount - 1 do
        stringgrid1.cells[1,i]:=floattostr((strtofloat(stringgrid1.cells[2,i]))*4);
      

  7.   

    报错      ''is not floating point value
      

  8.   

    ''is not floating point value表明stringgrid1.cells[2,i]为空,不能转换。
    //试试这个:
    for i:=0 to stringgrid1.rowcount - 1 do
        if trim(stringgrid1.cells[2,i])<>'' then
           stringgrid1.cells[1,i]:=floattostr(strtofloat(trim(stringgrid1.cells[2,i])))*4
        else stringgrid1.cells[1,i]:='某值'
            
      

  9.   

    谢谢  boz(波) 的提醒  ''is not floating point value表明stringgrid1.cells[2,i]为空,不能转换。