| r294 vs r295 | ||
|---|---|---|
| ... | ... | |
| 5136 | 5136 | {{{#!if (au==0)&&(ab==0) |
| 5137 | 5137 | {{{#!if br=true |
| 5138 | 5138 | }}}}}}}}} |
| 5139 | tn을 빈 문자열로 | |
| 5140 | {{{#!if tn="", | |
| 5139 | tn을 빈 문자열로 초기화하고 변수 ts를 가져옵니다. 마지막 72회까지 몫을 구하는 계산을 했음에도 불구하고 나머지가 나누어떨어져 0이 되지 않는다면 tn을 "..."로, ts를 true로 바꿉니다. | |
| 5140 | {{{#!if tn="", !br | |
| 5141 | 5141 | {{{#!if tn="...", ts=true |
| 5142 | 5142 | }}}}}} |
| 5143 | 5143 | |
| ... | ... | |
| 5218 | 5218 | ##== 계산 결과 표시 정리하기 == |
| 5219 | 5219 | 연산이 끝났으면 표기된 숫자를 정리합니다. |
| 5220 | 5220 | |
| 5221 | ##ru 정리 부분 | |
| 5222 | 먼저 (곱셈연산에서 정수값으로 나 | |
| 5221 | ##rs, ru 정리 부분 | |
| 5222 | 먼저 ru를 (곱셈연산에서 정수값으로 나올 수 있으므로) 문자열로 바꿉니다. | |
| 5223 | 5223 | {{{#!if ru=ru.toString() |
| 5224 | 5224 | }}} |
| 5225 | 5225 | 18자리씩 끊어 표기하므로 소수점 위 19~36번째 자리에 해당하는 rs값이 (가령 곱셈에서, 곱한 값을 더한 결과가) 0일 경우 rs를 빈 문자열로 바꿉니다. 이 때 ru를 정수로 바꿔 ru 왼쪽에 있는 0들을 지운 다음, ru를 문자열로 바꿉니다. |
| ... | ... | |
| 5235 | 5235 | {{{#!if rs=+rs, rs=rs.toString() |
| 5236 | 5236 | }}}}}} |
| 5237 | 5237 | |
| 5238 | ##rb 정리 부분 | |
| 5239 | 소수점 아래 | |
| 5240 | ||
| 5241 | ||
| 5242 | ||
| 5243 | ||
| 5244 | ||
| 5245 | 소수점 아래 19~36번째 자리에 해당하는 ri값이 0일 경우 ri를 빈 문자열로 바꿉니다. | |
| 5238 | ##rb, ri 정리 부분 | |
| 5239 | i보다 소수점 아래부분을 더 써내려가야 하는 상황이 아닌(ts가 false인) 경우에서, 소수점 아래 19~36번째 자리에 해당하는 ri값이 0일 경우 ri를 빈 문자열로 바꿉니다. | |
| 5246 | 5240 | 이 때 ri와 rb가 모두 0일 경우 rb도 빈 문자열로 바꾸고 rp=0으로 둡니다. |
| 5241 | {{{#!if !ts | |
| 5247 | 5242 | {{{#!if +ri==0 |
| 5248 | 5243 | {{{#!if ri="" |
| 5249 | 5244 | }}}{{{#!if +rb==0 |
| 5250 | 5245 | {{{#!if rb="", rp=0 |
| 5251 | }}}}}}}}} | |
| 5246 | }}}}}}}}}}}} | |
| 5252 | 5247 | |
| 5253 | ||
| 5254 | {{{#!if ps | |
| 5255 | ||
| 5256 | }}} | |
| 5248 | ri가 빈 문자열이 아닐 (+ri가 0보다 클) 때 true를 주는 논리값으로 ps를 정의합니다. | |
| 5249 | {{{#!if ps=(+ri>0) | |
| 5250 | }}} | |
| 5257 | 5251 | |
| 5258 | r | |
| 5259 | {{{#!if | |
| 5252 | rb가 비어있지 않을 (+rb가 0보다 클) 경우 rb를 문자열로 바꾼 다음 왼쪽을 0으로 채웁니다. | |
| 5253 | {{{#!if (+rb>0) | |
| 5260 | 5254 | {{{#!if rb=rb.toString(), rb=pd+rb, rb=rb.substr(rb.length-18, 18) |
| 5261 | 5255 | }}}}}} |
| 5256 | ri가 비어있지 않을 (+ri가 0보다 클) 경우 ri를 문자열로 바꾼 다음 ri의 왼쪽을 0으로 채웁니다. | |
| 5257 | {{{#!if (+ri>0) | |
| 5258 | {{{#!if ri=ri.toString(), ri=pd+ri, ri=ri.substr(ri.length-18, 18) | |
| 5259 | }}}}}} | |
| 5262 | 5260 | |
| 5263 | ps가 true이면 rp를 ri의 길이로, 그렇지 않고 rb만 0이 아닌경우 rp를 rb의 길이로 정의합니다. | |
| 5261 | !ts인 상황에서 ps가 true이면 rp를 ri의 길이로, 그렇지 않고 rb만 0이 아닌경우 rp를 rb의 길이로 정의합니다. | |
| 5262 | {{{#!if !ts | |
| 5264 | 5263 | {{{#!if ps |
| 5265 | 5264 | {{{#!if this.rp=ri.length |
| 5266 | 5265 | }}} |
| ... | ... | |
| 5272 | 5271 | {{{#!if this.rp=rb.length |
| 5273 | 5272 | }}}}}} |
| 5274 | 5273 | |
| 5275 | ||
| 5274 | !ts이면서 ri가 빈 문자열이 아닐 경우 ri의 오른쪽부터 붙은 "0"들을 모두 지웁니다. | |
| 5276 | 5275 | {{{#!if ps |
| 5277 | 5276 | {{{#!if (rp>9)&&(ri.substr(rp-9,9)=="000000000") |
| 5278 | 5277 | {{{#!if this.ri=ri.substr(0,rp-9), rp=rp-9 |
| ... | ... | |
| 5290 | 5289 | {{{#!if this.ri=ri.substr(0,rp-1), rp=rp-1 |
| 5291 | 5290 | }}}}}}}}} |
| 5292 | 5291 | |
| 5292 | !ts이면서 이면서 ri가 빈 문자열일 경우, rb의 오른쪽에 붙은 "0"들을 모두 지웁니다, | |
| 5293 | 5293 | {{{#!if !ps |
| 5294 | 5294 | {{{#!if (rp>9)&&(rb.substr(rp-9,9)=="000000000") |
| 5295 | 5295 | {{{#!if this.rb=rb.substr(0,rp-9), rp=rp-9 |
| ... | ... | |
| 5306 | 5306 | {{{#!if (rp>1)&&(rb.substr(rp-1,1)=="0") |
| 5307 | 5307 | {{{#!if this.rb=rb.substr(0,rp-1), rp=rp-1 |
| 5308 | 5308 | }}}}}}}}} |
| 5309 | }}} | |
| 5309 | 5310 | |
| 5311 | ts인 경우 rb, ri의 오른쪽 부분을 정리하지 않고 rp를 39로 정의합니다. | |
| 5312 | {{{#!if ts | |
| 5313 | {{{#!if rp=39 | |
| 5314 | }}}}}} | |
| 5315 | ||
| 5316 | ||
| 5317 | ||
| 5310 | 5318 | rb 정리를 이것으로 종료합니다. |
| 5311 | 5319 | |
| 5312 | 5320 | ##== 오류 코드 == |
| ... | ... |