round-half-to-even
Arredonda um valor numérico, levando as metades para o número par mais próximo
Descrição
A função fn:round-half-to-even arredonda um valor numérico levando as metades para o número par mais próximo. Esse tipo de arredondamento é usado em aplicações financeiras, para que a soma de uma coluna de números arredondados fique mais perto da soma dos mesmos números sem arredondar.
O valor devolvido é arredondado para o número de casas decimais indicado em $precision. Por exemplo, com precisão 2, a função arredonda 594.3271 para 594.33. Com precisão 0, o número é arredondado para um inteiro. Uma precisão negativa arredonda à esquerda do ponto decimal: com $precision igual a -2, a função arredonda 594.3271 para 600. Se $precision for omitido, vale 0.
Se o argumento estiver exatamente no meio entre dois valores, é arredondado para o vizinho par.
O tipo do resultado depende do tipo numérico do argumento. Se $arg não tiver tipo, é convertido em xs:double.
Parâmetros |
Descrição |
|---|---|
arg:numeric() |
o número a arredondar |
precision:integer() |
a precisão do arredondamento |
Exemplos
XPath |
Resultado |
|---|---|
round-half-to-even(5.5) |
6 |
round-half-to-even(6.5) |
6 |
round-half-to-even(9372.253, 2) |
9372.25 |
round-half-to-even(9372.253, 0) |
9372 |
round-half-to-even(9372.253, -3) |
9000 |