| r275 vs r276 | ||
|---|---|---|
| ... | ... | |
| 442 | 442 | |
| 443 | 443 | {{{#!if f=="/" |
| 444 | 444 | 나눗셈은 소수점 위 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 | ||
| 445 | 452 | au를 왼쪽으로 밀 경우 남게 되는 자릿수를 변수 tu로 둡니다. (후술할 아래 곱셈연산과 겹치지 않습니다.) |
| 446 | 453 | {{{#!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) |
| 447 | 454 | }}} |
| 455 | ||
| 456 | b도 a와 같은 방법으로 초기화합니다. | |
| 457 | {{{#!if +bu==0 | |
| 458 | {{{#!if bu=bb, bb=pd, bu=+bu, bu=bu.toString() | |
| 459 | }}}}}} | |
| 448 | 460 | {{{#!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) |
| 449 | 461 | }}} |
| 450 | 462 | |
| ... | ... | |
| 5330 | 5342 | ##rb string, decimal point marking |
| 5331 | 5343 | .@rb@{{{#!if ri!="" |
| 5332 | 5344 | @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)) | |
| 5334 | 5346 | [br]{{{#!wiki style="display: inline; text-shadow: 1px 1px 2px gray; " |
| 5335 | 5347 | '''{{{#yellow [경고] }}}'''}}}변수 {{{#!if wa==1 |
| 5336 | 5348 | a{{{#!if wb==1 |
| ... | ... |