Função para truncar valor numérico

Firebird

15/10/2015

Pessoal, boa tarde!!

Sou novo no firebird e tenho o seguinte problema:

Tenho uma variavel que recebe o valor 12,456. Gostaria de truncar esse valor, ou seja, transforma-lo em 12,45.

No Oracle eu uso a função trunc e funciona legal. No fire qual seria a melhor forma de fazer isso?

Att.

Thyago Brasil
Desenvolvedor Web
Thyago Henrique

Thyago Henrique

Curtidas 0

Respostas

Thyago Henrique

Thyago Henrique

15/10/2015

Alguma sugestão pessoal?
GOSTEI 0
Alex Lekao

Alex Lekao

15/10/2015

Ola Thyago veja se isso ajuda.

[url]http://www.firebirdsql.org/refdocs/langrefupd25-intfunc-trunc.html[/url]
[url]https://www.devmedia.com.br/forum/funcao-de-arredondamento-no-firebird/55598[/url]
GOSTEI 0
Thyago Henrique

Thyago Henrique

15/10/2015

Alex, obrigado pela resposta, porém, o cast ele arredonda. O que eu preciso é o seguinte. Tenho um valor 12,589. Esse valor eu quero que fique apenas 12,58 e não 12,59 (valor arredondado). Sobre o trunc, passado no outro link eu estou no Fire 1.5. Nele não funciona essa função. Dá erro de função desconhecida.

Obrigado
GOSTEI 0
Alex Lekao

Alex Lekao

15/10/2015

no segundo link, no final tem um usuario que sugere o uso do round, acredito que ele deva existir, embora nao tenha certeza, chegou a verificar ele?
GOSTEI 0
Thyago Henrique

Thyago Henrique

15/10/2015

Sim, mas o round não é uma função para arredondar valores?
GOSTEI 0
Alex Lekao

Alex Lekao

15/10/2015

nao, se nao estou enganado ele corta, trunca realmente.
GOSTEI 0
Thyago Henrique

Thyago Henrique

15/10/2015

Alex, fiz o teste aqui e deu a seguinte mensagem:

function ROUND could not be matched.
GOSTEI 0
Alex Lekao

Alex Lekao

15/10/2015

qual sintaxe vc usou?

foi essa?

 Round(Valor,2)
GOSTEI 0
Thyago Henrique

Thyago Henrique

15/10/2015

Fiz isso:

SELECT Round('2.568', 2) FROM RDB$DATABASE

Preciso que me retorne 2,56
GOSTEI 0
Thyago Henrique

Thyago Henrique

15/10/2015

Eu só consegui assim:

SELECT ROUND(2.568) FROM RDB$DATABASE

Mas assim ele fez pior ainda....arredondou pra 3
GOSTEI 0
Alex Lekao

Alex Lekao

15/10/2015

rapaz, nao conheco bem firebird(na verdade nao conheco bem nada. kkkkkkk), mas vamos la.

da uma olhada neste link

[url]https://www.devmedia.com.br/rotinas-de-arredondamento-round-roundto-simpleroundto-setroundmode-e-getroundmode/21114[/url]


pelo artigo deve ter que usar deste tipo.

SimpleRoundTo (-1.235, -2); //retorna - 1.23
GOSTEI 0
POSTAR