A documentação está um pouco incompleto quanto à mágica do valor
6
e quando aplicar o max
função, mas aqui está uma tabela de minhas descobertas, com base nessa documentação. Como diz, as fórmulas para a divisão são:
E, como você mesmo destaca, temos então a nota de rodapé:
Então, aqui está o que eu produzi na minha planilha:
p1 s1 p2 s2 prInit srInit prOver prAdjusted srAdjusted
38 16 38 16 93 55 55 38 6
28 16 28 16 73 45 35 38 10
29 16 29 16 75 46 37 38 9
Então, estou usando
pr
e sr
para indicar a precisão e escala do resultado. O prInit
e srInit
fórmulas são exatamente as forumlas da documentação. Como podemos ver, em todos os 3 casos, a precisão do resultado é muito maior que 38
e assim se aplica a nota de rodapé. prOver
é apenas max(0,prInit - 38)
- quanto temos que ajustar a precisão se a nota de rodapé se aplicar. prAjustado
é apenas prInit - prOver
. Podemos ver nos três casos que a precisão final do resultado é 38
. Se eu aplicar o mesmo fator de ajuste para as escalas, então eu obteria resultados de
0
, 10
e 9
. Mas podemos ver que seu resultado para o (38,16)
caso tem uma escala de 6
. Então eu acredito que é onde o max(6,...
parte da documentação realmente se aplica. Então, minha fórmula final para srAdjusted
é max(6,srInit-prOver)
e agora meu Ajustado
final os valores parecem corresponder aos seus resultados. E, claro, se consultarmos a documentação para
decimal
, podemos ver que o padrão precisão e escala, se você não especificá-los, são (18,0)
, então aqui está a linha para quando você não especificou precisão e escala:p1 s1 p2 s2 prInit srInit prOver prAdjusted srAdjusted
18 0 18 0 37 19 0 37 19