Inquiridor
Arredonda ultima casa decimal

Pergunta
-
Todas as Respostas
-
bomexiste o round(campo,numerodecasas)Mas o SQL nao tem nenhum comando de formataçao, portantoselect round(123.123,2)resultado123.12que é igual a123.120 :)Agoraselect round(123.129,2)o resultado é123.13se vc quiser truncar a ultima casa decimal vai ter que fazerselect floor(123.129 * 100)/100o resultado é123.12att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com) -
-
como vc esta fazendo o round... nao entendi o que vc quiz dizer com arredonda toda a minha seguência numérica. Me de um exemplo.0 a direita do ponto decimal sempre serao ignorados. Nao tem como fazer dentro do SQL algo como 1.0000. O resultado sempre sera 1Se vc quiser formatar , terá que ser obrigatoriamente na sua interfaceatt
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com) -
-
-
Nao..Eu nao disse que se vc tem 123,99999 ele arredonda para 124... apesar que é isso que ele vai fazer se vc usar "round"Pelo que eu entendi, vc nao quer arredondar, e sim tuncar...arredondar: round(1.54,1) = 1.5 e round(1.56,1)=1.6Truncar: trunc(1.54,1) = 1.5 e trunc(1.56,1)=1.5 * nao existe essa funcao trunc no SQL... teria que implementar. usei como exemplo
Dai vc tem que fazer (por exemplo truncar na 2 casa decimalselect floor(123.999999 *100)/100se for na terceira casaselect floor(123.999999 *1000)/1000
se for na quarta casaselect floor(123.999999 *10000)/10000e assim vaiNAo existe como por 0 a direita do ponto decimal. Faça um testeSelect convert(float,1.12345000000000000) as valore veja o resultado.Mas para truncar somente a ultima casa e se isso for variavel (se vc nao sabe quantos decimais vai ter) entao a coisa complica.... sinceramente eu nao sei se vai ter jeitode fazer isso por dentro do SQL sem usar T-SQLNos explique qual é sua necessidade de fazer issoAtt
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com)- Sugerido como Resposta Leonardo Marcelino terça-feira, 29 de dezembro de 2009 00:05
-
-
Colega, utilize a função Round(campo,número de casas depois da vírgula desejadas), indicando a quantidade de casas decimais você deseja.
Ex: select round(456.9993,3)
Resultado: 456.9990
Agora, se tiver que arredondar para cima (depende da última casa), ficará assim:
select
round(456.9996,3)
Resultado: 457.000