r246 vs r247
......
15391539
15401540
tn이 빈 문자열이 아니라면 (앞에 au에서 한 자리 수를 떼온 것이므로) tn에 0을 더하여 19자리로 만들고 몫을 구합니다.
15411541
{{{#!if tn!=""
1542
tn을 19자리 정수로 바꿉니다.
1543
{{{#!if tn+=pd, tn=+tn
1542
tn을 19자리 정수로 바꿉니다. au와 ab 역시 정수로 바꿉니다.
1543
{{{#!if tn+=pd, tn=+tn, au=+au, ab=+bb
15441544
}}}
15451545
tz를 몫으로 정의합니다. 앞의 tw를 처리하는 방법과 같습니다. tn을 정수로 만들었으므로 소수점 아래를 비교한다면 정수의 소수점 아래에 해당하는 0과 비교합니다.
15461546
{{{#!if tz=tn/bu, tx=bu*tz, ty=bb*tz
......
15521552
}}}{{{#!if ty=ty.toString(), ty.length==19
15531553
{{{#!if tx+=+(ty.substr(0,1)), ty=ty.substr(1,18), ty=+ty
15541554
}}}}}}}}}
1555
나머지를 반영합니다. 나눈 만큼 빼는데 처리해야할 소수점 아래 부분인 ab보다 ty가 크다면 tn에서 1을 빼어 계산합니다.
1555
tn에서 누어떨어지는 값을 뺀 나머지를 반영하여 au, ab에 더합니다. 소수점 아래 부분인 ab보다 ty가 크다면 tn에서 1을 빼어 계산합니다.
15561556
{{{#!if ty>ab
15571557
{{{#!if tn-=1, ab+=+("1"+pd)
15581558
}}}}}}
......
15631563
}}}
15641564
}}}
15651565
##i=1 part 2
1566
br이 걸려있으면 실행하지 않습니다. 그러므로 전체적으로 조건을 !br로 둔 다음 계산을 진행합니다.
1567
{{{#!if !br
1568
{{{#!if au=+au, ab=+ab
1569
}}}
1570
}}}
15661571
15671572
15681573
......