r75
r43
1[[분류:냥]][Include(틀:상세 내용, 설명대상=원본, 문서명=틀\:계산기)]
r44
2== 2-2 ==
r7

(r5으로 되돌림)
3{{{#!wiki style="font-weight: 300; font-size: 20px"
r66
4{{{#!wiki style="display: none"
r59
5##초기화
r55
6'''as''' : "a" value to string; '''bs''' : "b" value to string;
r56
7'''al''' : "a" string length (integer); '''bl''' : "b" string length (integer)
8'''ad''' : "a" decimal point (integer); '''bd''' : "b" decimal point (integer);
9'''au''' : --gold-- "a" upper value (string→integer); '''bu''' : "b" upper value (string→integer);
10'''ab''' : "a" below value (string→integer); '''bb''' : "b" below value (string→integer);
r55
11'''ap''' : "a" # of places of decimal (integer); '''bp''' : "b" # of places of decimal (integer);
120.303과 0.0303은 다른 수이므로 자리수가 다름을 표시할 용도
r75
13'''ru''' : "result" upper value (integer→string); '''rb''' : "result" below value (integer→string); '''rp''' : "result" # of places of decimal (integer)
r66
14{{{#!if this.as=a.toString(), this.bs=b.toString(), this.ru=0+0, this.rb=0+0
r53
15}}}{{{#!if this.al=as.length, this.bl=bs.length, this.ad=as.indexOf("."), this.bd=bs.indexOf(".")
16}}}{{{#!if ad!=-1
r56
17소수점이 발견되는 자리 번호가 ad이므로 ad+1번에 해당되는 자리부터 끝까지 표기.
18{{{#!if this.au=as.substr(0,ad), this.ab=as.substr(ad+1, al-ad-1), this.ap=ab.length
r64
19}}}{{{#!if (au=="")||(au=="-")||(au=="+")
r58
20.12345 식으로 또는 -.12345 식으로 기입할 경우 upper 값을 0으로 부여함.
r62
21{{{#!if au="0"
r56
22}}}}}}}}}{{{#!if ad==-1
r53
23{{{#!if this.au=as, ab="", ap=0+0
24}}}}}}{{{#!if bd!=-1
r56
25{{{#!if this.bu=bs.substr.(0,bd), this.bb=bs.substr(bd+1, bl-bd-1), this.bp=bb.length
r64
26}}}{{{#!if (bu=="")||(bu=="-")||(bu=="+")
r62
27{{{#!if bu="0"
r53
28}}}}}}}}}{{{#!if bd==-1
29{{{#!if this.bu=bs, bb="", bp=0+0
r51
30}}}}}}
r59
31
r61
32##유효성 검사.
33the seed에서 지원되는 long(integer)가 unsigned였으면 1844경까지 가서 충분히 19자리로 놀 수 있었는데, signed long이므로 922경까지 가능한 공간에서 18자리로 잘라내기. 소수점 위 최대 18자리, 소수점 아래 최대 18자리
r62
34{{{#!if au.length>19
r61
35error code of a 01번 : 오버플로
r62
36{{{#!if ea=1
r61
37}}}}}}
r62
38{{{#!if ab.length>19
r64
39warning code of a 01번 : 소수점 아래 자릿수를 너무 많이 입력했습니다. 소수점 아래 18자리까지만 취급합니다.
r62
40{{{#!if wa=1, ab=ab.substr(0,18)
41}}}}}}
r60
42
r62
43{{{#!if bu.length>19
44error code of b 01번 : 오버플로
45{{{#!if eb=01
46}}}}}}
r63
47{{{#!if bb.length>19
r65
48warning code of b 01번 : 소수점 아래 자릿수를 너무 많이 입력했습니다. 소수점 아래 18자리까지만 취급합니다.
r63
49{{{#!if wb=01, bb=bb.substr(0,18)
r62
50}}}}}}
51
r64
52##반점(,)을 자동적으로 생략하고 들어가는 것은 나중에 생각하겠습니다.
53error code 02 번 : 입력한 변수는 숫자로 읽을 수 없습니다. 반점(,)을 입력했다면 반점을 지우고 다시 입력하세요.
r71
54
55덧셈과 뺄셈 계산과정을 적어봅니다.
56{{{#!if (f=="+")||(f=="-")
57소수점 아래를 계산하려면 자릿수를 똑같이 맞춰야 의미가 있으므로, 자릿수가 다른 경우 자릿수가 같게 만드는 과정을 먼저 거칩니다.
58{{{#!if ap>bp
r72
59이를테면 a의 소수점 자릿수가 b의 소수점 자릿수보다 많으면 b뒤에 0을 더 추가하는 방식으로 변경합니다. b 자체가 정수여도 앞에 (소수점이 없을 경우) 이미 bb="", bp=0+0으로 초기화했으므로 동작될 것입니다.
r71
60{{{#!if bp+=1, bb=bb+"0"
r72
61}}}}}}{{{#!if ap>bp
62{{{#!if bp+=1, bb=bb+"0"
63}}}}}}{{{#!if ap>bp
64{{{#!if bp+=1, bb=bb+"0"
65}}}}}}{{{#!if ap>bp
66{{{#!if bp+=1, bb=bb+"0"
67}}}}}}{{{#!if ap>bp
68{{{#!if bp+=1, bb=bb+"0"
r71
69}}}}}}
r72
70{{{#!if ap>bp
71{{{#!if bp+=1, bb=bb+"0"
72}}}}}}{{{#!if ap>bp
73{{{#!if bp+=1, bb=bb+"0"
74}}}}}}{{{#!if ap>bp
75{{{#!if bp+=1, bb=bb+"0"
76}}}}}}{{{#!if ap>bp
77{{{#!if bp+=1, bb=bb+"0"
78}}}}}}{{{#!if ap>bp
79{{{#!if bp+=1, bb=bb+"0"
80}}}}}}
81{{{#!if ap>bp
82{{{#!if bp+=1, bb=bb+"0"
83}}}}}}{{{#!if ap>bp
84{{{#!if bp+=1, bb=bb+"0"
85}}}}}}{{{#!if ap>bp
86{{{#!if bp+=1, bb=bb+"0"
87}}}}}}{{{#!if ap>bp
88{{{#!if bp+=1, bb=bb+"0"
89}}}}}}{{{#!if ap>bp
90{{{#!if bp+=1, bb=bb+"0"
91}}}}}}
92{{{#!if ap>bp
93{{{#!if bp+=1, bb=bb+"0"
94}}}}}}{{{#!if ap>bp
95{{{#!if bp+=1, bb=bb+"0"
96}}}}}}{{{#!if ap>bp
97{{{#!if bp+=1, bb=bb+"0"
98}}}}}}
r74
99소수점 아래 최대 18자리까지의 수를 취급하므로 최대 18회.
r72
100
101반대로 b의 소수점 자릿수가 많은 경우도 있습니다.
102{{{#!if bp>ap
103{{{#!if ap+=1, ab=ab+"0"
104}}}}}}{{{#!if bp>ap
105{{{#!if ap+=1, ab=ab+"0"
106}}}}}}{{{#!if bp>ap
107{{{#!if ap+=1, ab=ab+"0"
108}}}}}}{{{#!if bp>ap
109{{{#!if ap+=1, ab=ab+"0"
110}}}}}}{{{#!if bp>ap
111{{{#!if ap+=1, ab=ab+"0"
112}}}}}}
113{{{#!if bp>ap
114{{{#!if ap+=1, ab=ab+"0"
115}}}}}}{{{#!if bp>ap
116{{{#!if ap+=1, ab=ab+"0"
117}}}}}}{{{#!if bp>ap
118{{{#!if ap+=1, ab=ab+"0"
119}}}}}}{{{#!if bp>ap
120{{{#!if ap+=1, ab=ab+"0"
121}}}}}}{{{#!if bp>ap
122{{{#!if ap+=1, ab=ab+"0"
123}}}}}}
124{{{#!if bp>ap
125{{{#!if ap+=1, ab=ab+"0"
126}}}}}}{{{#!if bp>ap
127{{{#!if ap+=1, ab=ab+"0"
128}}}}}}{{{#!if bp>ap
129{{{#!if ap+=1, ab=ab+"0"
130}}}}}}{{{#!if bp>ap
131{{{#!if ap+=1, ab=ab+"0"
132}}}}}}{{{#!if bp>ap
133{{{#!if ap+=1, ab=ab+"0"
134}}}}}}
135{{{#!if bp>ap
136{{{#!if ap+=1, ab=ab+"0"
137}}}}}}{{{#!if bp>ap
138{{{#!if ap+=1, ab=ab+"0"
139}}}}}}{{{#!if bp>ap
140{{{#!if ap+=1, ab=ab+"0"
141}}}}}}
r71
142}}}
143
r75
144a가 음수인 경우 소수점 아래 값은 순 숫자만 표기된 상태이므로 양수 취급으로 되지 않게 소수점 아래 값에 음수 표기를 남깁니다.
r73
145{{{#!if as[0]==45
146{{{#!if ab="-"+ab
147}}}}}}
148b도 마찬가지입니다.
149{{{#!if bs[0]==45
150{{{#!if bb="-"+bb
151}}}}}}
152
r70
153{{{#!if f=="+"
154{{{#!if ru=(+au)+(+bu), rb=(+ab)+(+bb)
155}}}}}}
156{{{#!if f=="-"
r71
157뺄셈은 덧셈의 역연산이고 구조가 단순하므로 덧셈과 뺄셈을 먼저 같이 처리합니다. ru, rb는 각각 정수 값으로 나올 것입니다.
r70
158{{{#!if ru=(+au)-(+bu), rb=(+ab)-(+bb)
159}}}}}}
r74
160소수점 아래끼리 더한 자릿수가 얼마나 되는지 보기 위해 rb를 문자열로 바꿉니다.
161{{{#!if this.rb=rb.toString()
162}}}
163문자열 길이를 rp로 정의합니다.
164{{{#!if this.rp=rb.length
165}}}
r75
166rb가 음수이면 rp를 -1로 줄여 정의합니다.
r74
167{{{#!if rb[0]==45
r75
168{{{#!if rp=rp-1
r74
169}}}}}}
r62
170
r75
171ru는 정수이므로 ru가 0보다 크면 곧 1 이상이며, 1 이상이면 양수+음수 꼴이 되더라도 소수점 아래 정리를 하면 됩니다. ru에서 1을 빌려오거나 ru에 1이 더해질 수도 있습니다.
r70
172{{{#!if ru>0
r74
173{{{#!if rb>0
174}}}}}}
r70
175{{{#!if ru==0
176}}}
177{{{#!if ru<0
178}}}
r67
179{{{#!if f=="*"
r69
18018자리 숫자로 입력할 수 있는 최대 정수는 999,999,999,999,999,999입니다.
181다행히 999,999,999,999,999,999*9=8,999,999,999,999,999,991 < long 한계치 9,223,372,036,854,775,807 이라서 a*각 자릿수로 덧셈해볼 수는 있습니다.
r67
182}}}
183
r65
184error code 03 번 : 오버플로
185error code 04 번 : 언더플로
186error code 05 번 : 0으로 나눌 수 없습니다.
r64
187
r67
188##여기까지 주석(주석 아님)
r54
189}}}{{{#!if as[0]!=45
r53
190@a@}}}{{{#!if as[0]==45
191(@a@)}}}{{{#!if f=='+'
r67
192+}}}{{{#!if f=="-"
193-}}}{{{#!if f=="*"
194*}}}{{{#!if f=="/"
195/}}}{{{#!if bs[0]!=45
r53
196@b@}}}{{{#!if bs[0]==45
r57
197(@b@)}}}}}}
r44
198==# 2-1 #==
199{{{#!wiki style="font-weight: 300; font-size: 20px"
r37
200{{{#!if +a>=0
201@a@}}}{{{#!if +a<0
r36
202(@a@)}}} {{{#!if f == '+'
r40

(r37으로 되돌림)
203{{{#!if r =(+a)+(+b)+0.0, u=(+a)+(+b)
r7

(r5으로 되돌림)
204}}}+}}}{{{#!if f == '-'
r40

(r37으로 되돌림)
205{{{#!if r =(+a)-(+b)+0.0, u=(+a)-(+b)
r7

(r5으로 되돌림)
206}}}-}}}{{{#!if f == '*'
r40

(r37으로 되돌림)
207{{{#!if r =((+a)+0.0)*((+b)+0.0), u=(+a)*(+b)
r7

(r5으로 되돌림)
208}}}×}}}{{{#!if f == '/'
r40

(r37으로 되돌림)
209{{{#!if r =((+a)+0.0)/((+b)+0.0), u=(+a)/(+b)
r37
210}}}÷}}} {{{#!if +b>=0
211@b@}}}{{{#!if +b<0
r36
212(@b@)}}} = {{{#!if u=r-u, d=false
r18

(r16으로 되돌림)
213##u : 나누어떨어지는 부분 절삭하기. d : dot 매김 여부
r20
214}}}{{{#!if r=r.toString(), u=u.toString()
r10
215}}}{{{#!if o=0, l=r.length
r11
216}}}{{{#!if (r!=null)&&(r!="")
217{{{#!if +o<l
r18

(r16으로 되돌림)
218##1
r11
219{{{#!if p=r[o]
r9
220}}}{{{#!if p==45
221-}}}{{{#!if p==46
r14
222{{{#!if d=true
r20
223}}}}}}{{{#!if p==48
r9
2240}}}{{{#!if p==49
2251}}}{{{#!if p==50
2262}}}{{{#!if p==51
2273}}}{{{#!if p==52
2284}}}{{{#!if p==53
2295}}}{{{#!if p==54
2306}}}{{{#!if p==55
2317}}}{{{#!if p==56
2328}}}{{{#!if p==57
r41
2339}}}{{{#!if o+=1
r19
234}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
235##2
r11
236{{{#!if p=r[o]
r35
237}}}{{{#!if p==46
r14
238{{{#!if d=true
r20
239}}}}}}{{{#!if p==48
r9
2400}}}{{{#!if p==49
2411}}}{{{#!if p==50
2422}}}{{{#!if p==51
2433}}}{{{#!if p==52
2444}}}{{{#!if p==53
2455}}}{{{#!if p==54
2466}}}{{{#!if p==55
2477}}}{{{#!if p==56
2488}}}{{{#!if p==57
r41
2499}}}{{{#!if o+=1
r23
250}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
251##3
r11
252{{{#!if p=r[o]
r35
253}}}{{{#!if p==46
r14
254{{{#!if d=true
r20
255}}}}}}{{{#!if p==48
r9
2560}}}{{{#!if p==49
2571}}}{{{#!if p==50
2582}}}{{{#!if p==51
2593}}}{{{#!if p==52
2604}}}{{{#!if p==53
2615}}}{{{#!if p==54
2626}}}{{{#!if p==55
2637}}}{{{#!if p==56
2648}}}{{{#!if p==57
r41
2659}}}{{{#!if o+=1
r23
266}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
267##4
r11
268{{{#!if p=r[o]
r35
269}}}{{{#!if p==46
r14
270{{{#!if d=true
r20
271}}}}}}{{{#!if p==48
r9
2720}}}{{{#!if p==49
2731}}}{{{#!if p==50
2742}}}{{{#!if p==51
2753}}}{{{#!if p==52
2764}}}{{{#!if p==53
2775}}}{{{#!if p==54
2786}}}{{{#!if p==55
2797}}}{{{#!if p==56
2808}}}{{{#!if p==57
r41
2819}}}{{{#!if o+=1
r23
282}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
283##5
r11
284{{{#!if p=r[o]
r35
285}}}{{{#!if p==46
r14
286{{{#!if d=true
r20
287}}}}}}{{{#!if p==48
r9
2880}}}{{{#!if p==49
2891}}}{{{#!if p==50
2902}}}{{{#!if p==51
2913}}}{{{#!if p==52
2924}}}{{{#!if p==53
2935}}}{{{#!if p==54
2946}}}{{{#!if p==55
2957}}}{{{#!if p==56
2968}}}{{{#!if p==57
r41
2979}}}{{{#!if o+=1
r23
298}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
299##6
r11
300{{{#!if p=r[o]
r35
301}}}{{{#!if p==46
r14
302{{{#!if d=true
r20
303}}}}}}{{{#!if p==48
r9
3040}}}{{{#!if p==49
3051}}}{{{#!if p==50
3062}}}{{{#!if p==51
3073}}}{{{#!if p==52
3084}}}{{{#!if p==53
3095}}}{{{#!if p==54
3106}}}{{{#!if p==55
3117}}}{{{#!if p==56
3128}}}{{{#!if p==57
r41
3139}}}{{{#!if o+=1
r23
314}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
315##7
r11
316{{{#!if p=r[o]
r35
317}}}{{{#!if p==46
r14
318{{{#!if d=true
r20
319}}}}}}{{{#!if p==48
r9
3200}}}{{{#!if p==49
3211}}}{{{#!if p==50
3222}}}{{{#!if p==51
3233}}}{{{#!if p==52
3244}}}{{{#!if p==53
3255}}}{{{#!if p==54
3266}}}{{{#!if p==55
3277}}}{{{#!if p==56
3288}}}{{{#!if p==57
r41
3299}}}{{{#!if o+=1
r23
330}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
331##8
r11
332{{{#!if p=r[o]
r35
333}}}{{{#!if p==46
r14
334{{{#!if d=true
r20
335}}}}}}{{{#!if p==48
r9
3360}}}{{{#!if p==49
3371}}}{{{#!if p==50
3382}}}{{{#!if p==51
3393}}}{{{#!if p==52
3404}}}{{{#!if p==53
3415}}}{{{#!if p==54
3426}}}{{{#!if p==55
3437}}}{{{#!if p==56
3448}}}{{{#!if p==57
r41
3459}}}{{{#!if o+=1
r23
346}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
347##9
r11
348{{{#!if p=r[o]
r35
349}}}{{{#!if p==46
r14
350{{{#!if d=true
r20
351}}}}}}{{{#!if p==48
r9
3520}}}{{{#!if p==49
3531}}}{{{#!if p==50
3542}}}{{{#!if p==51
3553}}}{{{#!if p==52
3564}}}{{{#!if p==53
3575}}}{{{#!if p==54
3586}}}{{{#!if p==55
3597}}}{{{#!if p==56
3608}}}{{{#!if p==57
r41
3619}}}{{{#!if o+=1
r23
362}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
363##10
r11
364{{{#!if p=r[o]
r35
365}}}{{{#!if p==46
r14
366{{{#!if d=true
r20
367}}}}}}{{{#!if p==48
r9
3680}}}{{{#!if p==49
3691}}}{{{#!if p==50
3702}}}{{{#!if p==51
3713}}}{{{#!if p==52
3724}}}{{{#!if p==53
3735}}}{{{#!if p==54
3746}}}{{{#!if p==55
3757}}}{{{#!if p==56
3768}}}{{{#!if p==57
r41
3779}}}{{{#!if o+=1
r23
378}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
379##11
r11
380{{{#!if p=r[o]
r35
381}}}{{{#!if p==46
r14
382{{{#!if d=true
r20
383}}}}}}{{{#!if p==48
r9
3840}}}{{{#!if p==49
3851}}}{{{#!if p==50
3862}}}{{{#!if p==51
3873}}}{{{#!if p==52
3884}}}{{{#!if p==53
3895}}}{{{#!if p==54
3906}}}{{{#!if p==55
3917}}}{{{#!if p==56
3928}}}{{{#!if p==57
r41
3939}}}{{{#!if o+=1
r23
394}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
395##12
r11
396{{{#!if p=r[o]
r35
397}}}{{{#!if p==46
r14
398{{{#!if d=true
r20
399}}}}}}{{{#!if p==48
r9
4000}}}{{{#!if p==49
4011}}}{{{#!if p==50
4022}}}{{{#!if p==51
4033}}}{{{#!if p==52
4044}}}{{{#!if p==53
4055}}}{{{#!if p==54
4066}}}{{{#!if p==55
4077}}}{{{#!if p==56
4088}}}{{{#!if p==57
r41
4099}}}{{{#!if o+=1
r23
410}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
411##13
r11
412{{{#!if p=r[o]
r35
413}}}{{{#!if p==46
r14
414{{{#!if d=true
r20
415}}}}}}{{{#!if p==48
r9
4160}}}{{{#!if p==49
4171}}}{{{#!if p==50
4182}}}{{{#!if p==51
4193}}}{{{#!if p==52
4204}}}{{{#!if p==53
4215}}}{{{#!if p==54
4226}}}{{{#!if p==55
4237}}}{{{#!if p==56
4248}}}{{{#!if p==57
r41
4259}}}{{{#!if o+=1
r23
426}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
427##14
r11
428{{{#!if p=r[o]
r35
429}}}{{{#!if p==46
r14
430{{{#!if d=true
r20
431}}}}}}{{{#!if p==48
r9
4320}}}{{{#!if p==49
4331}}}{{{#!if p==50
4342}}}{{{#!if p==51
4353}}}{{{#!if p==52
4364}}}{{{#!if p==53
4375}}}{{{#!if p==54
4386}}}{{{#!if p==55
4397}}}{{{#!if p==56
4408}}}{{{#!if p==57
r41
4419}}}{{{#!if o+=1
r23
442}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
443##15
r11
444{{{#!if p=r[o]
r35
445}}}{{{#!if p==46
r14
446{{{#!if d=true
r20
447}}}}}}{{{#!if p==48
r9
4480}}}{{{#!if p==49
4491}}}{{{#!if p==50
4502}}}{{{#!if p==51
4513}}}{{{#!if p==52
4524}}}{{{#!if p==53
4535}}}{{{#!if p==54
4546}}}{{{#!if p==55
4557}}}{{{#!if p==56
4568}}}{{{#!if p==57
r41
4579}}}{{{#!if o+=1
r23
458}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
459##16
r11
460{{{#!if p=r[o]
r35
461}}}{{{#!if p==46
r14
462{{{#!if d=true
r20
463}}}}}}{{{#!if p==48
r9
4640}}}{{{#!if p==49
4651}}}{{{#!if p==50
4662}}}{{{#!if p==51
4673}}}{{{#!if p==52
4684}}}{{{#!if p==53
4695}}}{{{#!if p==54
4706}}}{{{#!if p==55
4717}}}{{{#!if p==56
4728}}}{{{#!if p==57
r41
4739}}}{{{#!if o+=1
r23
474}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
475##17
r11
476{{{#!if p=r[o]
r35
477}}}{{{#!if p==46
r14
478{{{#!if d=true
r20
479}}}}}}{{{#!if p==48
r9
4800}}}{{{#!if p==49
4811}}}{{{#!if p==50
4822}}}{{{#!if p==51
4833}}}{{{#!if p==52
4844}}}{{{#!if p==53
4855}}}{{{#!if p==54
4866}}}{{{#!if p==55
4877}}}{{{#!if p==56
4888}}}{{{#!if p==57
r41
4899}}}{{{#!if o+=1
r23
490}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
491##18
r11
492{{{#!if p=r[o]
r35
493}}}{{{#!if p==46
r14
494{{{#!if d=true
r20
495}}}}}}{{{#!if p==48
r9
4960}}}{{{#!if p==49
4971}}}{{{#!if p==50
4982}}}{{{#!if p==51
4993}}}{{{#!if p==52
5004}}}{{{#!if p==53
5015}}}{{{#!if p==54
5026}}}{{{#!if p==55
5037}}}{{{#!if p==56
5048}}}{{{#!if p==57
r41
5059}}}{{{#!if o+=1
r23
506}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
507##19
r11
508{{{#!if p=r[o]
r35
509}}}{{{#!if p==46
r14
510{{{#!if d=true
r20
511}}}}}}{{{#!if p==48
r9
5120}}}{{{#!if p==49
5131}}}{{{#!if p==50
5142}}}{{{#!if p==51
5153}}}{{{#!if p==52
5164}}}{{{#!if p==53
5175}}}{{{#!if p==54
5186}}}{{{#!if p==55
5197}}}{{{#!if p==56
5208}}}{{{#!if p==57
r41
5219}}}{{{#!if o+=1
r23
522}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
523##20
r11
524{{{#!if p=r[o]
r35
525}}}{{{#!if p==46
r14
526{{{#!if d=true
r20
527}}}}}}{{{#!if p==48
r9
5280}}}{{{#!if p==49
5291}}}{{{#!if p==50
5302}}}{{{#!if p==51
5313}}}{{{#!if p==52
5324}}}{{{#!if p==53
5335}}}{{{#!if p==54
5346}}}{{{#!if p==55
5357}}}{{{#!if p==56
5368}}}{{{#!if p==57
r41
5379}}}{{{#!if o+=1
r20
538}}}}}}{{{#!if o=0, l=u.length
539}}}{{{#!if u[0]==45
540##음수로 마이너스가 표시되면 넘기기
r41
541{{{#!if o+=1
r20
542}}}}}}{{{#!if l-o>2
543##소수점이 나오면 "0."으로 2자리 차지하므로 소수점 표기.
r41
544{{{#!if o+=1
r42
545##일의 자리 넘기기
r32
546}}}{{{#!if (u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48)||(u[o+4]!=48)||(u[o+5]!=48)||(u[o+6]!=48)
r42
547##".000000"은 표기하지 않음. 소수점 표기
548.{{{#!if o+=1
549}}}}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48)||(u[o+4]!=48)||(u[o+5]!=48))
r21
550##1
r22
551{{{#!if p=u[o]
r21
552}}}{{{#!if p==48
r25
5530}}}{{{#!if p==49
r21
5541}}}{{{#!if p==50
5552}}}{{{#!if p==51
5563}}}{{{#!if p==52
5574}}}{{{#!if p==53
5585}}}{{{#!if p==54
5596}}}{{{#!if p==55
5607}}}{{{#!if p==56
5618}}}{{{#!if p==57
r41
5629}}}{{{#!if o+=1
r23
563}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48)||(u[o+4]!=48))
r21
564##2
r22
565{{{#!if p=u[o]
r21
566}}}{{{#!if p==48
5670}}}{{{#!if p==49
5681}}}{{{#!if p==50
5692}}}{{{#!if p==51
5703}}}{{{#!if p==52
5714}}}{{{#!if p==53
5725}}}{{{#!if p==54
5736}}}{{{#!if p==55
5747}}}{{{#!if p==56
5758}}}{{{#!if p==57
r41
5769}}}{{{#!if o+=1
r23
577}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48))
r21
578##3
r22
579{{{#!if p=u[o]
r21
580}}}{{{#!if p==48
5810}}}{{{#!if p==49
5821}}}{{{#!if p==50
5832}}}{{{#!if p==51
5843}}}{{{#!if p==52
5854}}}{{{#!if p==53
5865}}}{{{#!if p==54
5876}}}{{{#!if p==55
5887}}}{{{#!if p==56
5898}}}{{{#!if p==57
r41
5909}}}{{{#!if o+=1
r23
591}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48))
r21
592##4
r22
593{{{#!if p=u[o]
r21
594}}}{{{#!if p==48
5950}}}{{{#!if p==49
5961}}}{{{#!if p==50
5972}}}{{{#!if p==51
5983}}}{{{#!if p==52
5994}}}{{{#!if p==53
6005}}}{{{#!if p==54
6016}}}{{{#!if p==55
6027}}}{{{#!if p==56
6038}}}{{{#!if p==57
r41
6049}}}{{{#!if o+=1
r23
605}}}}}}{{{#!if (o<l)&&(d==true)&&(u[o+1]!=48)
r21
606##5
r22
607{{{#!if p=u[o]
r21
608}}}{{{#!if p==48
6090}}}{{{#!if p==49
6101}}}{{{#!if p==50
6112}}}{{{#!if p==51
6123}}}{{{#!if p==52
6134}}}{{{#!if p==53
6145}}}{{{#!if p==54
6156}}}{{{#!if p==55
6167}}}{{{#!if p==56
6178}}}{{{#!if p==57
r41
6189}}}{{{#!if o+=1
r23
619}}}}}}{{{#!if (o<l)&&(d==true)
r21
620##6
r22
621{{{#!if p=u[o]
r21
622}}}{{{#!if p==48
r26
623##"0" 미표기
624}}}{{{#!if p==49
r21
6251}}}{{{#!if p==50
6262}}}{{{#!if p==51
6273}}}{{{#!if p==52
6284}}}{{{#!if p==53
6295}}}{{{#!if p==54
6306}}}{{{#!if p==55
6317}}}{{{#!if p==56
6328}}}{{{#!if p==57
r41
6339}}}{{{#!if o+=1
r34
634}}}}}}}}}}}}