关于价值的奥秘以及何时应用该函数,文档尚不完整,但这是基于该文档的调查结果表。6``max
如其所言,除法公式为:
结果精度= p1-s1 + s2 + max(6,s1 + p2 + 1) ,结果标度= max(6,s1 + p2 + 1)
结果精度和小数位的绝对最大值为38。当结果精度大于38时,相应的小数位会减小,以防止结果的整数部分被截断。
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
因此,我正在使用pr
和sr
指示结果的精度和小数位数。该prInit
和srInit
的公式是完全从文档的forumlas。我们可以看到,在所有3种情况下,结果的精度都远远大于38
,因此脚注适用。prOver
只是max(0,prInit - 38)
-如果脚注适用,我们必须调整多少精度。prAdjusted
就是prInit - prOver
。在这三种情况下,我们都可以看到结果的最终精度为38
。
如果我申请了 相同的 调整因子,去鳞,那么我会得到的结果0
,10
和9
。但是我们可以看到,您针对该(38,16)
案例的结果的等级为6
。因此,我认为那是max(6,...
文档部分实际适用的地方。所以我的最终公式srAdjusted
是max(6,srInit-prOver)
,现在我的最终Adjusted
值似乎与您的结果匹配。
而且,当然,如果我们参考的文档decimal
,我们可以看到 默认 精度和小数位数(如果您未指定的话)为(18,0)
,因此这是未指定精度和小数位数的行:
p1 s1 p2 s2 prInit srInit prOver prAdjusted srAdjusted
18 0 18 0 37 19 0 37 19