Função para truncar valor numérico
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
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
Curtidas 0
Respostas
Thyago Henrique
15/10/2015
Alguma sugestão pessoal?
GOSTEI 0
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]
[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
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
Obrigado
GOSTEI 0
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
15/10/2015
Sim, mas o round não é uma função para arredondar valores?
GOSTEI 0
Alex Lekao
15/10/2015
nao, se nao estou enganado ele corta, trunca realmente.
GOSTEI 0
Thyago Henrique
15/10/2015
Alex, fiz o teste aqui e deu a seguinte mensagem:
function ROUND could not be matched.
function ROUND could not be matched.
GOSTEI 0
Alex Lekao
15/10/2015
qual sintaxe vc usou?
foi essa?
foi essa?
Round(Valor,2)
GOSTEI 0
Thyago Henrique
15/10/2015
Fiz isso:
SELECT Round('2.568', 2) FROM RDB$DATABASE
Preciso que me retorne 2,56
SELECT Round('2.568', 2) FROM RDB$DATABASE
Preciso que me retorne 2,56
GOSTEI 0
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
SELECT ROUND(2.568) FROM RDB$DATABASE
Mas assim ele fez pior ainda....arredondou pra 3
GOSTEI 0
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.
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