r167 vs r168
......
7777
소수점 아래 최대 18자리까지의 수를 취급하므로 최대 18칸 차이가 나게 됩니다.
7878
○○○○○○○○○□□□□○○□□○ 과 같이 9칸, 4칸, 2칸, 2칸, 1칸씩 차이가 나면 그 정도를 보정하게 됩니다.
7979
ap>bp에서 ap-bp>0이 됩니다. ap-bp는 곧 ap가 bp보다 몇 칸만큼 더 많은지를 나타냅니다.
80
{{{#!if ap-bp>=9
81
{{{#!if bp+=9, bb=bb+"000000000"
82
}}}}}}{{{#!if ap-bp>=4
83
{{{#!if bp+=4, bb=bb+"0000"
84
}}}}}}{{{#!if ap-bp>=2
85
{{{#!if bp+=2, bb=bb+"00"
86
}}}}}}{{{#!if ap-bp>=2
87
{{{#!if bp+=2, bb=bb+"00"
88
}}}}}}{{{#!if ap-bp>=1
89
{{{#!if bp+=1, bb=bb+"0"
80
{{{#!if ap>bp
81
{{{#!if bp=ap, bb+="000000000000000000"
82
}}}{{{#!if bb=bb.substr(0,ap)
9083
}}}}}}
9184
9285
반대로 b의 소수점 자릿수가 많은 경우도 있습니다.
93
{{{#!if bp-ap>=9
94
{{{#!if ap+=9, ab=ab+"000000000"
95
}}}}}}{{{#!if bp-ap>=4
96
{{{#!if ap+=4, ab=ab+"0000"
97
}}}}}}{{{#!if bp-ap>=2
98
{{{#!if ap+=2, ab=ab+"00"
99
}}}}}}{{{#!if bp-ap>=2
100
{{{#!if ap+=2, ab=ab+"00"
101
}}}}}}{{{#!if bp-ap>=1
102
{{{#!if ap+=1, ab=ab+"0"
86
{{{#!if bp>ap
87
{{{#!if ap=bp, ab=ab+"000000000000000000"
88
}}}{{{#!if ab=ab.substr(0,bp)
10389
}}}}}}
90
10491
위의 과정을 거치게 되면 소수점 아래 최대 자릿수를 똑같이 맞춘 상태에서 계산하게 되므로 ap==bp가 됩니다.
10592
10693
a가 음수인 경우 소수점 아래 값은 순 숫자만 표기된 상태이므로 양수 취급으로 되지 않게 소수점 아래 값인 ab에 음수 표기를 남깁니다.
......