r151 vs r152
......
462462
18자리씩 곱셈계산을 할 수 있도록 입력했던 a와 b의 문자열을 확장할 것입니다.
463463
a와 b 각각 소수점 윗자리와 소수점 아래자리의 문자열의 빈 공간을 0으로 채워 18자로 만듭니다.
464464
소수점 윗자리는 왼쪽에서 0을 채워나갑니다.
465
{{{#!if au.length<9
466
0-18자 -> 9-18자
467
{{{#!if au="000000000"+au
468
}}}}}}{{{#!if au.length<14
469
9-18자 -> 14-18자
470
{{{#!if au="00000"+au
471
}}}}}}{{{#!if au.length<16
472
14-18자 -> 16-18자
473
{{{#!if au="00"+au
474
}}}}}}{{{#!if au.length<18
475
16-17자 -> 17-18자
476
{{{#!if au="0"+au
477
}}}}}}{{{#!if au.length<18
478
17자 -> 18자
479
{{{#!if au="0"+au
480
}}}}}}
465
{{{#!if au == "000000000000000000" + au
466
+18자}}}{{{#!if au=au.substr(0,18)
467
}}}
481468
482
{{{#!if bu.length<9
483
0-18자 -> 9-18자
484
{{{#!if bu="000000000"+bu
485
}}}}}}{{{#!if bu.length<14
486
9-18자 -> 14-18자
487
{{{#!if bu="00000"+bu
488
}}}}}}{{{#!if bu.length<16
489
14-18자 -> 16-18자
490
{{{#!if bu="00"+bu
491
}}}}}}{{{#!if bu.length<18
492
16-17자 -> 17-18자
493
{{{#!if bu="0"+bu
494
}}}}}}{{{#!if bu.length<18
495
17자 -> 18자
496
{{{#!if bu="0"+bu
497
}}}}}}
469
{{{#!if bu == "000000000000000000" + bu
470
+18자}}}{{{#!if bu=bu.substr(0,18)
471
}}}
498472
499473
소수점 아래자리는 오른쪽에서 0을 채웁니다. (ap, bp값은 보존됩니다.)
500
{{{#!if ab.length<9
501
0-18자 -> 9-18자
502
{{{#!if ab=ab+"000000000"
503
}}}}}}{{{#!if ab.length<14
504
9-18자 -> 14-18자
505
{{{#!if ab=ab+"00000"
506
}}}}}}{{{#!if ab.length<16
507
14-18자 -> 16-18자
508
{{{#!if ab=ab+"00"
509
}}}}}}{{{#!if ab.length<18
510
16-17자 -> 17-18자
511
{{{#!if ab=ab+"0"
512
}}}}}}{{{#!if ab.length<18
513
17자 -> 18자
514
{{{#!if ab=ab+"0"
515
}}}}}}
474
{{{#!if ab += "000000000000000000"
475
+18자}}}{{{#!if ab=ab.substr(0,18)
476
}}}
516477
517
{{{#!if bb.length<9
518
0-18자 -> 9-18자
519
{{{#!if bb=bb+"000000000"
520
}}}}}}{{{#!if bb.length<14
521
9-18자 -> 14-18자
522
{{{#!if bb=bb+"00000"
523
}}}}}}{{{#!if bb.length<16
524
14-18자 -> 16-18자
525
{{{#!if bb=bb+"00"
526
}}}}}}{{{#!if bb.length<18
527
16-17자 -> 17-18자
528
{{{#!if bb=bb+"0"
529
}}}}}}{{{#!if bb.length<18
530
17자 -> 18자
531
{{{#!if bb=bb+"0"
532
}}}}}}
478
{{{#!if bb += "000000000000000000"
479
+18자}}}{{{#!if bb=bb.substr(0,18)
480
}}}
533481
534482
변수 tw를 가져옵니다. (tv는 1로 초기화 된 채로 있습니다. 연산 과정 중간중간에 마지막 자릿수를 보정하고자 10씩 곱하게 됩니다.)
535483
곱셈은 18자리를 끊어서 계산합니다. 소수점 아래 18자리의 아래인 제19~36번 자리를 ri로 둡니다. 소수점 위 19~36번째 자리는 rs로 둡니다.
......