[firebase-br] Arredondamento/Truncamento Firebrid
Paulo Portella
pportellaa.firebase em gmail.com
Qui Maio 12 15:50:25 -03 2011
http://www.firebirdsql.org/refdocs/langrefupd21-intfunc-trunc.html
TRUNC()
Available in: DSQL, PSQL
Added in: 2.1
Description: Returns the integer part of a number. With the optional
/|scale|/ argument, the number can be truncated to powers-of-ten
multiples (tens, hundreds, tenths, hundredths, etc.) instead of just
integers.
Result type: INTEGER, (scaled) BIGINT or DOUBLE
Syntax:
TRUNC (/|<number>|/ [,/|<scale>|/])
/|<number>|/ ::= a numerical expression
/|<scale>|/ ::= an integer specifying the number of decimal places
toward which should be truncated, e.g.:
2 for truncating to a multiple of 0.01
1 for truncating to a multiple of 0.1
0 for truncating to a whole number
-1 for truncating to a multiple of 10
-2 for truncating to a multiple of 100
Notes:
*
If the /|scale|/ argument is present, the result usually has the
same scale as the first argument, e.g.
o
TRUNC(789.2225, 2) returns 789.2200 (not 789.22)
o
TRUNC(345.4, -2) returns 300.0 (not 300)
o
TRUNC(-163.41, 0) returns -163.00 (not -163)
Otherwise, the result scale is 0:
o
TRUNC(-163.41) returns -163
Important
If you are used to the behaviour of the external function |TRUNCATE|,
please notice that the /internal/ function TRUNC always truncates toward
zero, i.e. upward for negative numbers.
Vida de americano é assim: iPhone, iPod, iPad, iMac....
Já a de brasileiro é assim:IPTU, IPVA, ICMS, IPI etc
Em 12/05/2011 12:15, Rafa Pimenta escreveu:
> Boa tarde a todos,
> Estou precisando truncar um valor que está com 3 casas decimais de forma que
> ele só fique com a parte inteira no firebrid.
> Observei que o cast arredonda o valor, como faço para truncá-lo?
>
> Exemplo usando cast:
>
> valor 1,99
> resultadot: 2
>
> Exemplo que eu preciso:
> valor 1,99
> resultado: 1
>
> Obrigado.
>
Mais detalhes sobre a lista de discussão lista