RES: [firebase-br] Erro de Conversão
Thiago Vidal
thiago em datatech.com.br
Qui Out 7 15:08:06 -03 2004
Pessoal,
Não sei se voces lembram, mas existia uma procedure no pascal
que faz justamente este tipo de conversão. A procedure Str
Str(ValorFloat:Tamanho:CasasDecimais, ValorConvertido);
por exemplo:
function SqlFloat(Num: Extended; CasasDecimais: Byte = 2): string;
begin
Str(Num:0:CasasDecimais, Result);
end;
SqlFloat(1500) = '1500.00'
SqlFloat(1500.2) = '1500.20'
SqlFloat(1500.2, 4) = '1500.2000'
Como essa função é do pascal (anterior ao delphi) ela nao utiliza o ponto
decimal contido na variável
DecimalSeparator, mas utiliza sempre o ponto '.' como separador deceimal,
daí ela ser perfeita para
ser utilizada nesse tipo de rotina de conversao para montagem de SQL.
_______________________
Thiago Oliveira Vidal
"Marcelo Wollmer" <marcelowollmer em yahoo.com.br>
escreveu na mensagem news:s1651221.021 em emdel.com.br...
Obrigado pela dica, mas mesmo atribuindo a propriedade VALUE, continua dando
os mesmos erros.
Obrigado!
Marcelo Wollmer
Centro de Informática - EMDEL S/A
(19)3404-2598 - (19)9182-2272
MSN marcelowollmer em hotmail.com
>>> banzatto em ig.com.br 07/10/04 10:16 >>>
Por algum acaso esse TCurrencyEdit não tem uma propriedade value ? Vc pode
pegar essa propriedade ao invés do text.
Eu creio que o problema não esta no banco e sim no componente.
-----Mensagem original-----
De: lista-bounces em firebase.com.br
[mailto:lista-bounces em firebase.com.br] Em
nome de Marcelo Wollmer
Enviada em: quinta-feira, 7 de outubro de 2004 09:03
Para: lista em firebase.com.br;
lista-delphi em yahoogrupos.com.br
Assunto: [firebase-br] Erro de Conversão
Bom dia Lista,
Utilizo Delphi 6 + dbExpress + FB 1.5
O problema é o seguinte:
Tenho um campo na minha tabela Produtos com os seguintes atributos:
Nome: VLRLUCRO Tipo: FLOAT
Tenho uma SP de inclusão de produtos nesta tabela, onde o parâmetro
referente ao campo acima é o seguinte:
Nome: PVLRLUCRO Tipo: FLOAT
No Delphi, tenho no form um TCurrencyEdit com as seguintes propriedades:
Name: mskdtVlrLucro
DecimalPlaces: 2
DisplayFormat: 0.00
Para passar esse TCurrencyEdit para o parâmetro da SP, faço o seguinte:
DM.spProduto.ParamByName('PVLRLUCRO').AsFloat :=
strtofloat(mskdtVlrLucro.Text);
Após atribuir todos os conteúdos do Form para os parâmetros da SP,
inicializo a transação e executo a SP.
Ai ocorre dois erros:
1) Se eu deixar o TCurrencyEdit sem preenche-lo: "Não é um valor de Ponto
Flutuante Válido"
2) Se eu preenher, por exemplo, com 5000,20: "Conversion error from string
"5000.2000000000000 ""
Onde estou errando?
Agradeço qualquer ajuda.
Grato.
Marcelo Wollmer
Centro de Informática - EMDEL S/A
(19)3404-2598 - (19)9182-2272
MSN marcelowollmer em hotmail.com
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Mais detalhes sobre a lista de discussão lista