Trucar mantendo casa decimal



  • Caro colega, estou na seguine situação:

    Preciso rodar uma função que trunca o valor com determinada casa decimal
    Valor: 2125,5696587
    trucado com casas decimais: 2125,56

    ou seja, eu quero desprezar apos uma determinada casa decimal.

    preciso aplicar esta função no fluxo ao abrir uma consulta....


    Preciso de uma luz!!!


  • Então vc quer truncar na própria consulta?
    Qual o banco de dados utilizado?

    Se for sql você pode fazer conforme o modelo abaixo:
    select SUBSTRING (CONVERT (VARCHAR (10), @Campo), 1, PATINDEX ('%.%', CONVERT (VARCHAR, @Campo)) + 2)
    Uma função mais simples seria o ROUND, porém, ela arredonda... como você quer truncar, pode seguir o modelo que eu passei.
    Talvez tenha alguma função específica pra truncar... mas ai já n sei.


  • [quote="andersonleal"]Então vc quer truncar na própria consulta?
    Qual o banco de dados utilizado?

    Se for sql você pode fazer conforme o modelo abaixo:
    select SUBSTRING (CONVERT (VARCHAR (10), @Campo), 1, PATINDEX ('%.%', CONVERT (VARCHAR, @Campo)) + 2)
    Uma função mais simples seria o ROUND, porém, ela arredonda... como você quer truncar, pode seguir o modelo que eu passei.
    Talvez tenha alguma função específica pra truncar... mas ai já n sei.[/quote]
    Complementando com uma coisa que achei na net:

    select cast(round(157.28234,1,1) as decimal(15,1));-- só truncar
    select cast(round(157.28234,1,0) as decimal(15,1));-- arredondar e truncar

    Testa aí.

Log in to reply