Casas decimais em firebird, como controlar
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
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
Curtidas 0
Respostas
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
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
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
01/12/2005
aí tem que apelar para algo tipo
nota : real
nota := roundto(nota, -1);
e na hora de salvar transforma pra string
nota : real
nota := roundto(nota, -1);
e na hora de salvar transforma pra string
GOSTEI 0