Fórum Ajuda com o Cast #54058
02/12/2005
0
Olá, tenho um campo que é varchar(5) pra calcular eu faço assim:
media = (cast(nota1 as decimal(15,1) + cast(nota2 as decimal(15,1))/2
funciona´direitinho, só que o meu cliente quer usar a virgula como ponto decimal, ou seja, no sistema eu mudei lá o DecimalSeparator, mas e no firebird?
Pois se fosse assim:
nota1=20,0
nota2=20,0
a media deveria ficar: 20,0
porem ao calcular ele poe como 200,0, ou seja, me parece que ele nao reconhece a virgula como sendo ponto decimal.
P.S.: Estou usando varchar pois eles podem deixar com um - ao inves de numero, e isso ja estou tratando antes de fazer a conta, ou seja, so faz a conta se for diferente de -.
Desde já aradeço.
media = (cast(nota1 as decimal(15,1) + cast(nota2 as decimal(15,1))/2
funciona´direitinho, só que o meu cliente quer usar a virgula como ponto decimal, ou seja, no sistema eu mudei lá o DecimalSeparator, mas e no firebird?
Pois se fosse assim:
nota1=20,0
nota2=20,0
a media deveria ficar: 20,0
porem ao calcular ele poe como 200,0, ou seja, me parece que ele nao reconhece a virgula como sendo ponto decimal.
P.S.: Estou usando varchar pois eles podem deixar com um - ao inves de numero, e isso ja estou tratando antes de fazer a conta, ou seja, so faz a conta se for diferente de -.
Desde já aradeço.
Titanius
Curtir tópico
+ 0
Responder
Posts
02/12/2005
Afarias
|me parece que ele nao reconhece a virgula como sendo ponto decimal.
EXATO! e não tem como mudar.
|P.S.: Estou usando varchar pois eles podem deixar com um - ao inves
|de numero,
Veja, vc pode transformar a vírgula em ponto antes de gravar e fazer a operação inversa quando for mostrar o número na tela.
De qualquer forma, na minha opnião, *não* há motivo para se usar um campo alfanumérico para representar uma informação númerica.
Facilmente vc poderia deixar o campo nulo quando o usuário digitasse - e na volta preencher o edit com - quando o campo fosse nulo
T+
EXATO! e não tem como mudar.
|P.S.: Estou usando varchar pois eles podem deixar com um - ao inves
|de numero,
Veja, vc pode transformar a vírgula em ponto antes de gravar e fazer a operação inversa quando for mostrar o número na tela.
De qualquer forma, na minha opnião, *não* há motivo para se usar um campo alfanumérico para representar uma informação númerica.
Facilmente vc poderia deixar o campo nulo quando o usuário digitasse - e na volta preencher o edit com - quando o campo fosse nulo
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)