| r178 vs r179 | ||
|---|---|---|
| ... | ... | |
| 1369 | 1369 | ##rb 정리 부분 (덧셈, 뺄셈, 곱셈 공통) |
| 1370 | 1370 | 먼저 ru를 문자열로 변환합니다. 18자리씩 끊어 표기하므로 소수점 위 19~36번째 자리에 해당하는 rs값이 (곱한 값을 더했는데도) 0일 경우 rs를 빈 문자열로 바꿉니다. 곱셈과정에서 ru의 윗자리인 rs값이 0보다 클 경우, 1~18번째 자리인 ru에 빈 자리를 채우도록 ru의 왼쪽을 0으로 채웁니다. |
| 1371 | 1371 | {{{#!if ru=ru.toString() |
| 1372 | }}}{{{#!if | |
| 1373 | ||
| 1372 | }}}{{{#!if rs==0 | |
| 1374 | 1373 | {{{#!if rs="" |
| 1375 | }}}}}}{{{#!if rs>0 | |
| 1374 | }}}}}}{{{#!if (f=="*")&&(rs>0) | |
| 1376 | 1375 | {{{#!if rs=rs.toString(), ru="000000000000000000"+ru, ru=ru.substr(ru.length-18, 18) |
| 1377 | }}}}}} | |
| 1376 | }}}}}} | |
| 1378 | 1377 | |
| 1379 | 1378 | 소수점 아래 마지막 문자의 번호는 (문자열 길이 - 1)입니다. 극단적으로 .10000 00000 00000 000 같은 것이 나올 수 있겠지만 18회 조사합니다. |
| 1380 | 1379 | substr(0,0)으로 하면 ""이 됩니다. |
| 1381 | 1380 | |
| 1382 | 1381 | rb를 문자열로 변환합니다. 곱셈 과정에서 소수점 아래 19~36번째 자리에 해당하는 ri값이 0일 경우 ri를 빈 문자열로 바꿉니다. ri가 0보다 클 경우 rb를 문자열로 변환하고 rb의 오른쪽을 0으로 채웁니다. |
| 1383 | 1382 | {{{#!if rb=rb.toString() |
| 1384 | }}}{{{#!if | |
| 1385 | ||
| 1383 | }}}{{{#!if ri==0 | |
| 1386 | 1384 | {{{#!if ri="" |
| 1387 | }}}}}}{{{#!if ri>0 | |
| 1385 | }}}}}}{{{#!if (f=="*")&&(ri>0) | |
| 1388 | 1386 | {{{#!if ri=ri.toString(), rb=rb+"000000000000000000", rb=rb.substr(0, 18) |
| 1389 | }}}}}} | |
| 1387 | }}}}}} | |
| 1390 | 1388 | |
| 1391 | 1389 | 곱셈연산이면서 ri가 빈 문자열이 아닐 경우 true를 주는 논리값으로 ps를 정의합니다. |
| 1392 | 1390 | ps가 true이면 ri를 rb의 문자열 길이로 정의하고, 그렇지 않은 경우 rp를 rb의 문자열 길이로 다시 정의합니다. |
| ... | ... |