Valor monetario em uma stringgrid
Tenho uma stringgrid para cadastrar produtos em um pedido e ao usar os dados de valor unitario ele nao esta em formato monetario o codigo que estou usando é este:
Meu campo é do tipo monetario, porem ele da o seguinte erro:
'is not a valid floating point value'.
StringGridProduto.Cells[StringGridProduto.Col,StringGridProduto.Row] := DataModule_Dados.TblProdutos.FieldByName('PRODUTO').AsString;
StringGridproduto.Cells[1,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('UNIDADE').AsString;
StringGridproduto.Cells[2,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('VALORUNITARIO').AsString;
valor := StrtoFloat(StringGridproduto.Cells[2,StringGridProduto.RowCount -5]);//A variavel valor recebe dados da 3° coluna da string grid
StringGridProduto.Cells[2,StringGridProduto.RowCount -5] := FormatFloat('##,###,##0.00', valor);//A variavel valor é mostrada no formato monetario
StringGridProduto.RowCount:= StringGridProduto.RowCount + 1;
StringGridProduto.Col := 3;
StringGridProduto.Row := Linha1;
Setfocus;'is not a valid floating point value'.
Daniel
Curtidas 0
Respostas
Paulo Andrade
31/08/2011
Tenho uma stringgrid para cadastrar produtos em um pedido e ao usar os dados de valor unitario ele nao esta em formato monetario o codigo que estou usando é este:
Meu campo é do tipo monetario, porem ele da o seguinte erro:
'is not a valid floating point value'.
Errado:
StringGridproduto.Cells[2,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('VALORUNITARIO').AsString;
Correto:
StringGridproduto.Cells[2,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('VALORUNITARIO').AsCurrency;
StringGridProduto.Cells[StringGridProduto.Col,StringGridProduto.Row] := DataModule_Dados.TblProdutos.FieldByName('PRODUTO').AsString;
StringGridproduto.Cells[1,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('UNIDADE').AsString;
StringGridproduto.Cells[2,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('VALORUNITARIO').AsString;
valor := StrtoFloat(StringGridproduto.Cells[2,StringGridProduto.RowCount -5]);//A variavel valor recebe dados da 3° coluna da string grid
StringGridProduto.Cells[2,StringGridProduto.RowCount -5] := FormatFloat('##,###,##0.00', valor);//A variavel valor é mostrada no formato monetario
StringGridProduto.RowCount:= StringGridProduto.RowCount + 1;
StringGridProduto.Col := 3;
StringGridProduto.Row := Linha1;
Setfocus;'is not a valid floating point value'.
GOSTEI 0
Paulo Andrade
31/08/2011
Tenho uma stringgrid para cadastrar produtos em um pedido e ao usar os dados de valor unitario ele nao esta em formato monetario o codigo que estou usando é este:
Meu campo é do tipo monetario, porem ele da o seguinte erro:
'is not a valid floating point value'.
Ou tente o seguinte:
Correto -----:
valor := StrtoCurrency(StringGridproduto.Cells[2,StringGridProduto.RowCount -5]);//A variavel valor recebe dados da 3° coluna da string gridStringGridProduto.Cells[StringGridProduto.Col,StringGridProduto.Row] := DataModule_Dados.TblProdutos.FieldByName('PRODUTO').AsString;
StringGridproduto.Cells[1,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('UNIDADE').AsString;
StringGridproduto.Cells[2,StringGridProduto.RowCount -5] := DataModule_dados.TblProdutos.FieldByName('VALORUNITARIO').AsString;
valor := StrtoFloat(StringGridproduto.Cells[2,StringGridProduto.RowCount -5]);//A variavel valor recebe dados da 3° coluna da string grid
StringGridProduto.Cells[2,StringGridProduto.RowCount -5] := FormatFloat('##,###,##0.00', valor);//A variavel valor é mostrada no formato monetario
StringGridProduto.RowCount:= StringGridProduto.RowCount + 1;
StringGridProduto.Col := 3;
StringGridProduto.Row := Linha1;
Setfocus;'is not a valid floating point value'.
StringGridProduto.Cells[2,StringGridProduto.RowCount -5] := Format('##,###,##0.00', valor);//A variavel valor é mostrada no formato monetario
GOSTEI 0