GARANTIR DESCONTO

Fórum Função para truncar valor numérico #534566

15/10/2015

0

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

Responder

Posts

16/10/2015

Thyago Henrique

Alguma sugestão pessoal?
Responder

Gostei + 0

16/10/2015

Alex Lekao

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]
Responder

Gostei + 0

16/10/2015

Thyago Henrique

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
Responder

Gostei + 0

16/10/2015

Alex Lekao

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?
Responder

Gostei + 0

16/10/2015

Thyago Henrique

Sim, mas o round não é uma função para arredondar valores?
Responder

Gostei + 0

16/10/2015

Alex Lekao

nao, se nao estou enganado ele corta, trunca realmente.
Responder

Gostei + 0

16/10/2015

Thyago Henrique

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

function ROUND could not be matched.
Responder

Gostei + 0

16/10/2015

Alex Lekao

qual sintaxe vc usou?

foi essa?

 Round(Valor,2)
Responder

Gostei + 0

16/10/2015

Thyago Henrique

Fiz isso:

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

Preciso que me retorne 2,56
Responder

Gostei + 0

16/10/2015

Thyago Henrique

Eu só consegui assim:

SELECT ROUND(2.568) FROM RDB$DATABASE

Mas assim ele fez pior ainda....arredondou pra 3
Responder

Gostei + 0

16/10/2015

Alex Lekao

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
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar