| r347 vs r348 | ||
|---|---|---|
| ... | ... | |
| 1505 | 1505 | {{{#!if au=+au, ab=+ab, bu=+bu, bb=+bb |
| 1506 | 1506 | }}} |
| 1507 | 1507 | |
| 1508 | ||
| 1509 | ||
| 1510 | ||
| 1511 | ||
| 1512 | ||
| 1513 | ||
| 1514 | ||
| 1508 | 먼저 au를 bu로 나눈 몫을 tw로 정의합니다. 정수를 정수로 나누면 몫만 계산되며, 100,000,000,000,000,000 이상 999,999,999 999,999,999 이하의 한 정수를 100,000,000,000,000,000 이상의 다른 한 정수로 나눈 몫이므로 tw의 값은 최소 0 최대 9가 됩니다. | |
| 1515 | 1509 | {{{#!if tw=au/bu |
| 1516 | 1510 | }}} |
| 1517 | 1511 | bu, bb를 각각 tw만큼 곱한 값을 tx, ty로 정의합니다. |
| ... | ... | |
| 1525 | 1519 | ty를 정수로 바꿉니다. |
| 1526 | 1520 | {{{#!if ty=+ty |
| 1527 | 1521 | }}} |
| 1528 | (2.1/1.6 처럼) ty가 넘쳐 tx 값이 더해지는 경우가 있으므로 몫이 유효한 값인지 검산합니다. 만일 tx ty 가 기존 au ab을 넘게 되면 tw에서 1을 빼고, tx, ty를 다시 정의합니다. | |
| 1522 | (2.1/1.6 처럼) ty가 넘쳐 tx 값이 더해지는 경우가 있으므로 몫이 유효한 값인지 검산합니다. 만일 tx ty 가 기존 au ab을 넘게 되면 tw에서 1을 빼고, tx, ty를 다시 정의합니다. 그러나 tw가 이미 0이 되었을 경우 tw를 0으로 둡니다. | |
| 1529 | 1523 | {{{#!if (tx>au)||((tx==au)&&(ty>ab)) |
| 1530 | {{{#!if tw- | |
| 1524 | {{{#!if tw=(tw==0)?0:tw-1, tx=bu*tw, ty=bb*tw | |
| 1531 | 1525 | }}} |
| 1532 | 1526 | 마찬가지로 ty가 19자리가 된다면 넘친 첫번째 자리의 값을 tx의 일의 자리로 더합니다. |
| 1533 | 1527 | {{{#!if ty=ty.toString(), ty.length==19 |
| ... | ... | |
| 1538 | 1532 | }}} |
| 1539 | 1533 | }}} |
| 1540 | 1534 | 이렇게 만들어진 tx, ty가 있으면 이를 반영합니다. |
| 1541 | ||
| 1542 | ||
| 1543 | ||
| 1544 | ||
| 1545 | ||
| 1535 | ||
| 1546 | 1536 | !ps일 경우 au에서 tx를, ab에서 ty를 뺍니다. 만약 ty>ab일 경우 au에서 1을 가져와 (au에서 1을 빼고) ab에 1,000,000,000,000,000,000을 더한 다음 계산합니다. |
| 1547 | 1537 | {{{#!if !ps |
| 1548 | 1538 | {{{#!if ty>ab |
| ... | ... | |
| 5370 | 5360 | '''tx''' : temporary value 1 (integer); '''ty''' : temporary value 2 (integer); '''tz''' : temporary value 3 (integer); |
| 5371 | 5361 | '''comment''' : comment (string); |
| 5372 | 5362 | ru는 계산결과에서 소수점 위 자리이므로, dot(.)이 나오지 않습니다. |
| 5373 | ## | |
| 5363 | ##== 출력 부분 == | |
| 5364 | ##=== 계산값 출력 (정상 출력) === | |
| 5374 | 5365 | }}}{{{#!wiki style="font-weight: 300; font-size: 17.5px;" |
| 5375 | 5366 | {{{#!if this.sa=(this.a!="")&&(this.a!=null), this.sb=(this.b!="")&&(this.b!=null), this.sf=(this.f=='+')||(this.f=='-')||(this.f=='*')||(this.f=='/'), this.ad=ma.indexOf("."), this.bd=mb.indexOf("."), ps=false, tm="", tn="" |
| 5376 | 5367 | }}}{{{#!if !(sa&sb&sf) |
| ... | ... | |
| 5537 | 5528 | }}}}}}{{{#!if ms=tm |
| 5538 | 5529 | }}}}}}@ms@{{{#!if (f=='/')&&(tn=="...") |
| 5539 | 5530 | ...}}}}}}}}}}}}}}}{{{#!if (ea>0)||(eb>0) |
| 5531 | ##=== 오류 · 경고 코드 출력 부분 === | |
| 5540 | 5532 | {{{#!if (ea==1)||(eb==1) |
| 5541 | 5533 | '''{{{#orangered [오류]}}}''' 변수 {{{#!if ea==1 |
| 5542 | 5534 | a{{{#!if eb==1 |
| ... | ... |