Fórum Converter valores como 10.80 para 10,80 #417397
24/05/2012
0
Já tentei StrToFloat mas dar erro: is not a valid floating point value.
também tentei StrToFloatDef(QryTotais.FieldByName(total).AsString,0) mas ele retorna sempre 0(zero)
Alguem pode me ajudar
Sidney Abreu
Curtir tópico
+ 0Posts
24/05/2012
Marco Salles
try
valor:=StrToFloat(StringReplace(SeuDataSet.FieldByName(SeuCampo).AsString,.,DecimalSeparator,[]));
Showmessage(floattostr(Valor));
except
//
end;
Gostei + 0
24/05/2012
Marco Salles
Gostei + 0
24/05/2012
Joel Rodrigues
Gostei + 0
24/05/2012
Marco Salles
é so tratar os dados. Existe tb o evento OngetField
Gostei + 0
24/05/2012
Joel Rodrigues
Gostei + 0
25/05/2012
Sidney Abreu
select distinct
produtos.Prod_Descricao,
itens.preco,
sum(itens.qtde) as Qtde,
itens.desconto,
itens.preco * cast(sum(itens.qtde) as float) as total
from
itens
inner join pedidos on (pedidos.numero = itens.numero)
inner join produtos on (produtos.Prod_id = itens.prod_id)
where
pedidos.data_cad = 23/05/2012
group by
produtos.Prod_Descricao
order by
produtos.Prod_Descricao
Gostei + 0
25/05/2012
Joel Rodrigues
Gostei + 0
25/05/2012
Marco Salles
Outra opção (não sei se o banco dele suporta ) é fazer um StringReplace no proprio Sql retornando
no lugar do Ponto o DecimalSeparator
Não manjo quase nada de Sql mas ja vi muitas coisas do genero
Gostei + 0
26/05/2012
Sidney Abreu
select
Prod_Descricao ,
preco ,
Qtde ,
desconto ,
total
from tabela_cast
union
select distinct
produtos.Prod_Descricao as Prod_Descricao,
itens.preco,
sum(itens.qtde) as Qtde,
itens.desconto,
itens.preco * sum(itens.qtde) as total
from
itens
inner join pedidos on (pedidos.numero = itens.numero)
inner join produtos on (produtos.Prod_id = itens.prod_id)
where
pedidos.data_cad = 23/05/2012
group by
produtos.Prod_Descricao
order by
produtos.Prod_Descricao
Gostei + 0
26/05/2012
Joel Rodrigues
Gostei + 0
26/05/2012
Marco Salles
try
valor:=StrToFloat(StringReplace(SeuDataSet.FieldByName(SeuCampo).AsString,.,DecimalSeparator,[]));
Showmessage(floattostr(Valor));
except
//
end;
Joel esta conversão da certo tb , o unico problema é o Forum que come as aspas simpes e a formatação de nossas
respostas ... A Questão é se quer converter 10.80 para float tem que transformar o ponto para o decimal separator
padrão que é o ponto e virgula . Ou tb transformar o contrário , isto é o Decimal separator para o Ponto
descimalseparator:=. ;
Gostei + 0
26/05/2012
Marco Salles
try
valor:=StrToFloat(StringReplace(SeuDataSet.FieldByName(SeuCampo).AsString,.,DecimalSeparator,[]));
Showmessage(floattostr(Valor));
except
//
end;
Joel esta conversão da certo tb , o unico problema é o Forum come as aspas simples e a formatação de nossas
respostas ... A Questão é : se quer converter 10.80 para float tem que transformar o ponto para o decimal separator
que por padrão é a virgula . Ou pode-se tb transformar o contrário , isto é o Decimal separator para o Ponto
descimalseparator:=. ;
Assim o delphi passa a aceitar 10.80 como numero
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)