Casas decimais em firebird, como controlar

Firebird

01/12/2005

Olá, tenho 5 campos varchar(5)
n1, n2, n3, n4 e media

quero somaar todos os n, n1+n2+n3+n4 e dividir por quatro e jogar no media.

Porem os campos podem ser
2,5
12,85
1,93
25,874

como faco pra trabalhar com 1 casa decimal, tipo a minha media ficar sempre com xx,x


Desde já agradeço..

P.S.: estou fazendo a soma, com trigger...

[]s


Titanius

Titanius

Curtidas 0

Respostas

Edilcimar

Edilcimar

01/12/2005

se vc vai trabalhar com números não deveria usar varchar e sim numeric ou decimal, por ex: decimal,5,2 que aí ele já ficaria com 2 casas decimais, outra maneira é na hora de salvar, vc pode usar roundto() para formatar a quantidade de casas decimais que quer salvar


GOSTEI 0
Titanius

Titanius

01/12/2005

Olá Edilcimar,

Tenho que usar varchar, por se tratar de notas bimestrais, e na escola pra qual estou desenvovlendo eles usam o * como ´nota´, ou seja, se das 4 notas tiver 1 *, então ele divide somente por 3, e assim por diante..

Mas no caso, eu queria algo por dentro no Firebird pra formatar, nao teria jeito nao? tipo
eu passar o numero
12,3 --> 12,5
12,31 --> 12,5
12,8 --> 13,0
etc..


[]s


GOSTEI 0
Edilcimar

Edilcimar

01/12/2005

aí tem que apelar para algo tipo
nota : real
nota := roundto(nota, -1);
e na hora de salvar transforma pra string


GOSTEI 0
POSTAR