| r195 vs r196 | ||
|---|---|---|
| ... | ... | |
| 1295 | 1295 | 여기까지가 곱셈의 연산 과정이며 rb 정리 부분으로 넘어갑니다. |
| 1296 | 1296 | }}} |
| 1297 | 1297 | |
| 1298 | ##r | |
| 1298 | ##ru 정리 부분 | |
| 1299 | 1299 | 먼저 ru를 문자열로 변환합니다. 18자리씩 끊어 표기하므로 소수점 위 19~36번째 자리에 해당하는 rs값이 (곱한 값을 더했는데도) 0일 경우 rs를 빈 문자열로 바꿉니다. 곱셈과정에서 ru의 윗자리인 rs값이 0보다 클 경우, 1~18번째 자리인 ru에 빈 자리를 채우도록 ru의 왼쪽을 0으로 채웁니다. |
| 1300 | 1300 | {{{#!if ru=ru.toString() |
| 1301 | 1301 | }}}{{{#!if rs==0 |
| ... | ... | |
| 1304 | 1304 | {{{#!if rs=rs.toString(), ru="000000000000000000"+ru, ru=ru.substr(ru.length-18, 18) |
| 1305 | 1305 | }}}}}} |
| 1306 | 1306 | |
| 1307 | #rb 정리 부분 | |
| 1307 | 1308 | 소수점 아래 마지막 문자의 번호는 (문자열 길이 - 1)입니다. 극단적으로 .10000 00000 00000 000 같은 것이 나올 수 있겠지만 18회 조사합니다. |
| 1308 | 1309 | substr(0,0)으로 하면 ""이 됩니다. |
| 1309 | 1310 | |
| 1310 | r | |
| 1311 | 곱셈연산이면서 ri가 빈 문자열이 아닐 경우 true를 주는 논리값으로 ps를 정의합니다. | |
| 1312 | {{{#!if ps=((f=="*")&&(ri>0)) | |
| 1313 | }}} | |
| 1314 | 소수점 아래 19~36번째 자리에 해당하는 ri값이 0일 경우 ri를 빈 문자열로 바꿉니다. | |
| 1311 | 1315 | 이 때 ri와 rb가 모두 0일 경우 rb도 빈 문자열로 바꾸고 rp=0으로 둡니다. |
| 1312 | 1316 | {{{#!if ri==0 |
| 1313 | 1317 | {{{#!if ri="" |
| ... | ... | |
| 1315 | 1319 | {{{#!if rb="", rp=0 |
| 1316 | 1320 | }}}}}}}}} |
| 1317 | 1321 | |
| 1318 | 곱셈 과정에서 ri가 0보다 클 경우 rb를 문자열로 변환하고 rb의 | |
| 1319 | {{{#!if | |
| 1320 | {{{#!if rb=rb.toString(), ri=ri.toString(), rb= | |
| 1322 | 곱셈 과정에서 ri가 0보다 클 경우 rb를 문자열로 변환하고 rb의 왼쪽을 0으로 채웁니다. | |
| 1323 | {{{#!if ps | |
| 1324 | {{{#!if rb=rb.toString(), ri=ri.toString(), rb="000000000000000000"+rb, rb=rb.substr(rb.length-18, 18) | |
| 1321 | 1325 | }}}}}} |
| 1322 | 1326 | |
| 1323 | 1327 | ri가 비었고 rb가 0이 아닌 경우 rb를 문자열로 바꿉니다. |
| ... | ... | |
| 1325 | 1329 | {{{#!if rb=rb.toString() |
| 1326 | 1330 | }}}}}} |
| 1327 | 1331 | |
| 1328 | ||
| 1329 | ||
| 1330 | {{{#!if ps | |
| 1331 | {{{#!if this.rp=ri.length | |
| 1332 | }}}}}}{{{#!if !ps | |
| 1332 | ps가 true이면 rp를 ri의 문자열 길이로 정의하고 19~35번째 소수점 자릿수를 표시하므로 rp에 18을 더합니다. 그렇지 않은 경우 rp를 rb의 문자열 길이로 다시 정의합니다. | |
| 1333 | {{{#!if ps | |
| 1334 | {{{#!if this.rp=ri.length+18 | |
| 1335 | }}}}}}{{{#!if !ps&&(rb!="") | |
| 1333 | 1336 | {{{#!if this.rp=rb.length |
| 1334 | 1337 | }}}}}} |
| 1335 | 1338 | |
| ... | ... | |
| 1349 | 1352 | }}}}}} |
| 1350 | 1353 | {{{#!if rp>1, ri.substr(rp-1,1)=="0" |
| 1351 | 1354 | {{{#!if this.ri=ri.substr(0,rp-1), rp=rp-1 |
| 1352 | }}}}}} | |
| 1353 | ||
| 1354 | ||
| 1355 | }}} | |
| 1355 | }}}}}}}}} | |
| 1356 | 1356 | |
| 1357 | 1357 | {{{#!if !ps |
| 1358 | 1358 | {{{#!if rp>9, rb.substr(rp-9,9)=="000000000" |
| ... | ... |