| r130 vs r131 | ||
|---|---|---|
| ... | ... | |
| 503 | 503 | {{{#!if (ap>0)||(bp>0) |
| 504 | 504 | |
| 505 | 505 | 소수점 아래 자릿수가 있는 숫자끼리 곱한 결과는 일반적으로 자릿수+자릿수만큼 소수점 아래 자릿수가 늘어납니다. java long으로 해볼 수 있는 자릿수가 18자리이므로 ap+bp값이 18을 넘어갈 경우 제19번 자리수부터 생각해야 합니다. |
| 506 | {{{#!if ap+bp >18 | |
| 506 | 먼저 rp를 ap+bp 값으로 저장합니다. | |
| 507 | {{{#!if this.rp=ap+bp | |
| 508 | }}}{{{#!if ap+bp >18 | |
| 507 | 509 | 인덱스 i를 빌려와 소수점 아래 자릿수를 잡고 계산하는 과정에서 쓸 것입니다. |
| 508 | 510 | {{{#!if i=ap+bp-18 |
| 509 | 511 | }}}}}} |
| ... | ... | |
| 511 | 513 | {{{#!if ap+bp<=18 |
| 512 | 514 | {{{#!if i=ap+bp |
| 513 | 515 | }}}}}} |
| 516 | 18자리씩 곱셈계산을 할 수 있도록 입력했던 a와 b의 문자열을 확장할 것입니다. | |
| 517 | a와 b 각각 소수점 윗자리와 소수점 아래자리의 문자열의 빈 공간을 0으로 채워 18자로 만듭니다. | |
| 518 | 소수점 윗자리는 왼쪽에서 0을 채워나갑니다. | |
| 519 | {{{#!if au.length<18 | |
| 520 | {{{#!if au="0"+au | |
| 521 | }}}}}}{{{#!if au.length<18 | |
| 522 | {{{#!if au="0"+au | |
| 523 | }}}}}}{{{#!if au.length<18 | |
| 524 | {{{#!if au="0"+au | |
| 525 | }}}}}}{{{#!if au.length<18 | |
| 526 | {{{#!if au="0"+au | |
| 527 | }}}}}}{{{#!if au.length<18 | |
| 528 | {{{#!if au="0"+au | |
| 529 | }}}}}}{{{#!if au.length<18 | |
| 530 | {{{#!if au="0"+au | |
| 531 | }}}}}}{{{#!if au.length<18 | |
| 532 | {{{#!if au="0"+au | |
| 533 | }}}}}}{{{#!if au.length<18 | |
| 534 | {{{#!if au="0"+au | |
| 535 | }}}}}}{{{#!if au.length<18 | |
| 536 | {{{#!if au="0"+au | |
| 537 | }}}}}}{{{#!if au.length<18 | |
| 538 | {{{#!if au="0"+au | |
| 539 | }}}}}} | |
| 540 | ||
| 541 | {{{#!if au.length<18 | |
| 542 | {{{#!if au="0"+au | |
| 543 | }}}}}}{{{#!if au.length<18 | |
| 544 | {{{#!if au="0"+au | |
| 545 | }}}}}}{{{#!if au.length<18 | |
| 546 | {{{#!if au="0"+au | |
| 547 | }}}}}}{{{#!if au.length<18 | |
| 548 | {{{#!if au="0"+au | |
| 549 | }}}}}}{{{#!if au.length<18 | |
| 550 | {{{#!if au="0"+au | |
| 551 | }}}}}}{{{#!if au.length<18 | |
| 552 | {{{#!if au="0"+au | |
| 553 | }}}}}}{{{#!if au.length<18 | |
| 554 | {{{#!if au="0"+au | |
| 555 | }}}}}}{{{#!if au.length<18 | |
| 556 | {{{#!if au="0"+au | |
| 557 | }}}}}} | |
| 558 | ||
| 559 | {{{#!if bu.length<18 | |
| 560 | {{{#!if bu="0"+bu | |
| 561 | }}}}}}{{{#!if bu.length<18 | |
| 562 | {{{#!if bu="0"+bu | |
| 563 | }}}}}}{{{#!if bu.length<18 | |
| 564 | {{{#!if bu="0"+bu | |
| 565 | }}}}}}{{{#!if bu.length<18 | |
| 566 | {{{#!if bu="0"+bu | |
| 567 | }}}}}}{{{#!if bu.length<18 | |
| 568 | {{{#!if bu="0"+bu | |
| 569 | }}}}}}{{{#!if bu.length<18 | |
| 570 | {{{#!if bu="0"+bu | |
| 571 | }}}}}}{{{#!if bu.length<18 | |
| 572 | {{{#!if bu="0"+bu | |
| 573 | }}}}}}{{{#!if bu.length<18 | |
| 574 | {{{#!if bu="0"+bu | |
| 575 | }}}}}}{{{#!if bu.length<18 | |
| 576 | {{{#!if bu="0"+bu | |
| 577 | }}}}}}{{{#!if bu.length<18 | |
| 578 | {{{#!if bu="0"+bu | |
| 579 | }}}}}} | |
| 580 | ||
| 581 | {{{#!if bu.length<18 | |
| 582 | {{{#!if bu="0"+bu | |
| 583 | }}}}}}{{{#!if bu.length<18 | |
| 584 | {{{#!if bu="0"+bu | |
| 585 | }}}}}}{{{#!if bu.length<18 | |
| 586 | {{{#!if bu="0"+bu | |
| 587 | }}}}}}{{{#!if bu.length<18 | |
| 588 | {{{#!if bu="0"+bu | |
| 589 | }}}}}}{{{#!if bu.length<18 | |
| 590 | {{{#!if bu="0"+bu | |
| 591 | }}}}}}{{{#!if bu.length<18 | |
| 592 | {{{#!if bu="0"+bu | |
| 593 | }}}}}}{{{#!if bu.length<18 | |
| 594 | {{{#!if bu="0"+bu | |
| 595 | }}}}}}{{{#!if bu.length<18 | |
| 596 | {{{#!if bu="0"+bu | |
| 597 | }}}}}} | |
| 598 | ||
| 599 | 소수점 아래자리는 오른쪽에서 0을 채웁니다. (ap, bp값은 보존됩니다.) | |
| 600 | ||
| 514 | 601 | }}} |
| 515 | 602 | }}} |
| 516 | 603 | |
| ... | ... |