r275 vs r276
......
442442
443443
{{{#!if f=="/"
444444
나눗셈은 소수점 위 18번째 자리부터 내려가면서 처음으로 0이 아닌 숫자가 있으면 그 숫자가 처음 숫자가 되도록 숫자를 왼쪽으로 밀어두려고 합니다. 그 다음 오른쪽을 0으로 채웁니다.
445
446
a에서 au가 0인 경우 18자리 au를 18자리 ab로 바꾸고 ab를 18자의 0(pd)으로 채웁니다.
447
소수점 아래 자리를 매겼던 ab가 소수점 위인 au자리로 옮겨지게 되므로 정수로 바꾸었다 다시 문자열로 바꿈으로써 왼쪽에 불필요하게 붙어있는 0을 삭제합니다.
448
{{{#!if +au==0
449
{{{#!if au=ab, ab=pd, au=+au, au=au.toString()
450
}}}}}}
451
445452
au를 왼쪽으로 밀 경우 남게 되는 자릿수를 변수 tu로 둡니다. (후술할 아래 곱셈연산과 겹치지 않습니다.)
446453
{{{#!if tu=18-au.length, au=au+ab.substr(0,tu)+pd, ab=ab.substr(tu)+pd, au=au.substr(0,18), ab=ab.substr(0,18)
447454
}}}
455
456
b도 a와 같은 방법으로 초기화합니다.
457
{{{#!if +bu==0
458
{{{#!if bu=bb, bb=pd, bu=+bu, bu=bu.toString()
459
}}}}}}
448460
{{{#!if tu=18-bu.length, bu=bu+bb.substr(0,tu)+pd, bb=bb.substr(tu)+pd, bu=bu.substr(0,18), bb=bb.substr(0,18)
449461
}}}
450462
......
53305342
##rb string, decimal point marking
53315343
.@rb@{{{#!if ri!=""
53325344
@ri@{{{#!if (f=='/')&&(tn="...")
5333
...}}}}}}}}}}}}}}}{{{#!if ((wa>0)||(wb>0))&&(ea==0)&&(eb==0)
5345
...}}}}}}}}}}}}}}}{{{#!if ((wa>0)||(wb>0))&&(ea==0)&&((eb==0)||(eb==3))
53345346
[br]{{{#!wiki style="display: inline; text-shadow: 1px 1px 2px gray; "
53355347
'''{{{#yellow [경고] }}}'''}}}변수 {{{#!if wa==1
53365348
a{{{#!if wb==1
......