dokumentacja
jest trochę niekompletna co do magii wartości 6 i kiedy zastosować max funkcji, ale oto tabela moich ustaleń, oparta na tej dokumentacji.
Jak mówi, wzory na dzielenie to:
I, jak sam podkreślasz, mamy przypis:
Oto, co stworzyłem w moim arkuszu kalkulacyjnym:
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
Więc używam pr i sr aby wskazać precyzję i skalę wyniku. prInit i srInit formuły to dokładnie fora z dokumentacji. Jak widać, we wszystkich 3 przypadkach dokładność wyniku jest znacznie większa niż 38 dlatego obowiązuje przypis. prOver to tylko max(0,prInit - 38) - o ile musimy dostosować precyzję, o ile ma zastosowanie przypis. prDostosowany to tylko prInit - prOver . Widzimy we wszystkich trzech przypadkach, że ostateczna precyzja wyniku wynosi 38 .
Jeśli zastosuję to samo współczynnik dopasowania do skali to otrzymałbym wyniki 0 , 10 i 9 . Ale widzimy, że Twój wynik dla (38,16) sprawa ma skalę 6 . Uważam więc, że właśnie tam max(6,... część dokumentacji faktycznie ma zastosowanie. Więc moja ostateczna formuła dla srAdjusted to max(6,srInit-prOver) a teraz mój ostateczny dostosowany wartości wydają się pasować do wyników.
I oczywiście, jeśli zapoznamy się z dokumentacją decimal
, widzimy, że domyślny precyzja i skala, jeśli ich nie określisz, to (18,0) , więc oto wiersz, w którym nie określono precyzji i skali:
p1 s1 p2 s2 prInit srInit prOver prAdjusted srAdjusted
18 0 18 0 37 19 0 37 19