r74
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은 다른 수이므로 자리수가 다름을 표시할 용도
r74
13'''ru''' : "result" upper value (integer); '''rb''' : "result" below value (integer); '''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
r73
144a가 음수인 경우 소수점 아래 값은 순 숫자만 표기된 상태이며 양수 취급으로 되지 않도록 음수 표기를 해야 합니다.
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}}}
166rb가 음수이면 마이너스 부분을 잘라내어 저장시키고 rp를 다시 정의합니다.
167{{{#!if rb[0]==45
168{{{#!if rb=rb.substr(1, rp-1)
169}}}{{{#!if rp=rb.length
170}}}}}}
r62
171
r74
172
r70
173{{{#!if ru>0
174ru는 정수이므로 0보다 크면 곧 1 이상이며, 1 이상이면 양수+음수 꼴이 되더라도 소수점 아래 정리를 하면 됩니다. ru에서 1을 빌려오거나 ru에 1이 더해질 수도 있습니다.
r74
175{{{#!if rb>0
176}}}}}}
r70
177{{{#!if ru==0
178}}}
179{{{#!if ru<0
180}}}
r67
181{{{#!if f=="*"
r69
18218자리 숫자로 입력할 수 있는 최대 정수는 999,999,999,999,999,999입니다.
183다행히 999,999,999,999,999,999*9=8,999,999,999,999,999,991 < long 한계치 9,223,372,036,854,775,807 이라서 a*각 자릿수로 덧셈해볼 수는 있습니다.
r67
184}}}
185
r65
186error code 03 번 : 오버플로
187error code 04 번 : 언더플로
188error code 05 번 : 0으로 나눌 수 없습니다.
r64
189
r67
190##여기까지 주석(주석 아님)
r54
191}}}{{{#!if as[0]!=45
r53
192@a@}}}{{{#!if as[0]==45
193(@a@)}}}{{{#!if f=='+'
r67
194+}}}{{{#!if f=="-"
195-}}}{{{#!if f=="*"
196*}}}{{{#!if f=="/"
197/}}}{{{#!if bs[0]!=45
r53
198@b@}}}{{{#!if bs[0]==45
r57
199(@b@)}}}}}}
r44
200==# 2-1 #==
201{{{#!wiki style="font-weight: 300; font-size: 20px"
r37
202{{{#!if +a>=0
203@a@}}}{{{#!if +a<0
r36
204(@a@)}}} {{{#!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)-(+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)
r7

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

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

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

(r16으로 되돌림)
220##1
r11
221{{{#!if p=r[o]
r9
222}}}{{{#!if p==45
223-}}}{{{#!if p==46
r14
224{{{#!if d=true
r20
225}}}}}}{{{#!if p==48
r9
2260}}}{{{#!if p==49
2271}}}{{{#!if p==50
2282}}}{{{#!if p==51
2293}}}{{{#!if p==52
2304}}}{{{#!if p==53
2315}}}{{{#!if p==54
2326}}}{{{#!if p==55
2337}}}{{{#!if p==56
2348}}}{{{#!if p==57
r41
2359}}}{{{#!if o+=1
r19
236}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
237##2
r11
238{{{#!if p=r[o]
r35
239}}}{{{#!if p==46
r14
240{{{#!if d=true
r20
241}}}}}}{{{#!if p==48
r9
2420}}}{{{#!if p==49
2431}}}{{{#!if p==50
2442}}}{{{#!if p==51
2453}}}{{{#!if p==52
2464}}}{{{#!if p==53
2475}}}{{{#!if p==54
2486}}}{{{#!if p==55
2497}}}{{{#!if p==56
2508}}}{{{#!if p==57
r41
2519}}}{{{#!if o+=1
r23
252}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
253##3
r11
254{{{#!if p=r[o]
r35
255}}}{{{#!if p==46
r14
256{{{#!if d=true
r20
257}}}}}}{{{#!if p==48
r9
2580}}}{{{#!if p==49
2591}}}{{{#!if p==50
2602}}}{{{#!if p==51
2613}}}{{{#!if p==52
2624}}}{{{#!if p==53
2635}}}{{{#!if p==54
2646}}}{{{#!if p==55
2657}}}{{{#!if p==56
2668}}}{{{#!if p==57
r41
2679}}}{{{#!if o+=1
r23
268}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
269##4
r11
270{{{#!if p=r[o]
r35
271}}}{{{#!if p==46
r14
272{{{#!if d=true
r20
273}}}}}}{{{#!if p==48
r9
2740}}}{{{#!if p==49
2751}}}{{{#!if p==50
2762}}}{{{#!if p==51
2773}}}{{{#!if p==52
2784}}}{{{#!if p==53
2795}}}{{{#!if p==54
2806}}}{{{#!if p==55
2817}}}{{{#!if p==56
2828}}}{{{#!if p==57
r41
2839}}}{{{#!if o+=1
r23
284}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
285##5
r11
286{{{#!if p=r[o]
r35
287}}}{{{#!if p==46
r14
288{{{#!if d=true
r20
289}}}}}}{{{#!if p==48
r9
2900}}}{{{#!if p==49
2911}}}{{{#!if p==50
2922}}}{{{#!if p==51
2933}}}{{{#!if p==52
2944}}}{{{#!if p==53
2955}}}{{{#!if p==54
2966}}}{{{#!if p==55
2977}}}{{{#!if p==56
2988}}}{{{#!if p==57
r41
2999}}}{{{#!if o+=1
r23
300}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
301##6
r11
302{{{#!if p=r[o]
r35
303}}}{{{#!if p==46
r14
304{{{#!if d=true
r20
305}}}}}}{{{#!if p==48
r9
3060}}}{{{#!if p==49
3071}}}{{{#!if p==50
3082}}}{{{#!if p==51
3093}}}{{{#!if p==52
3104}}}{{{#!if p==53
3115}}}{{{#!if p==54
3126}}}{{{#!if p==55
3137}}}{{{#!if p==56
3148}}}{{{#!if p==57
r41
3159}}}{{{#!if o+=1
r23
316}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
317##7
r11
318{{{#!if p=r[o]
r35
319}}}{{{#!if p==46
r14
320{{{#!if d=true
r20
321}}}}}}{{{#!if p==48
r9
3220}}}{{{#!if p==49
3231}}}{{{#!if p==50
3242}}}{{{#!if p==51
3253}}}{{{#!if p==52
3264}}}{{{#!if p==53
3275}}}{{{#!if p==54
3286}}}{{{#!if p==55
3297}}}{{{#!if p==56
3308}}}{{{#!if p==57
r41
3319}}}{{{#!if o+=1
r23
332}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
333##8
r11
334{{{#!if p=r[o]
r35
335}}}{{{#!if p==46
r14
336{{{#!if d=true
r20
337}}}}}}{{{#!if p==48
r9
3380}}}{{{#!if p==49
3391}}}{{{#!if p==50
3402}}}{{{#!if p==51
3413}}}{{{#!if p==52
3424}}}{{{#!if p==53
3435}}}{{{#!if p==54
3446}}}{{{#!if p==55
3457}}}{{{#!if p==56
3468}}}{{{#!if p==57
r41
3479}}}{{{#!if o+=1
r23
348}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
349##9
r11
350{{{#!if p=r[o]
r35
351}}}{{{#!if p==46
r14
352{{{#!if d=true
r20
353}}}}}}{{{#!if p==48
r9
3540}}}{{{#!if p==49
3551}}}{{{#!if p==50
3562}}}{{{#!if p==51
3573}}}{{{#!if p==52
3584}}}{{{#!if p==53
3595}}}{{{#!if p==54
3606}}}{{{#!if p==55
3617}}}{{{#!if p==56
3628}}}{{{#!if p==57
r41
3639}}}{{{#!if o+=1
r23
364}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
365##10
r11
366{{{#!if p=r[o]
r35
367}}}{{{#!if p==46
r14
368{{{#!if d=true
r20
369}}}}}}{{{#!if p==48
r9
3700}}}{{{#!if p==49
3711}}}{{{#!if p==50
3722}}}{{{#!if p==51
3733}}}{{{#!if p==52
3744}}}{{{#!if p==53
3755}}}{{{#!if p==54
3766}}}{{{#!if p==55
3777}}}{{{#!if p==56
3788}}}{{{#!if p==57
r41
3799}}}{{{#!if o+=1
r23
380}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
381##11
r11
382{{{#!if p=r[o]
r35
383}}}{{{#!if p==46
r14
384{{{#!if d=true
r20
385}}}}}}{{{#!if p==48
r9
3860}}}{{{#!if p==49
3871}}}{{{#!if p==50
3882}}}{{{#!if p==51
3893}}}{{{#!if p==52
3904}}}{{{#!if p==53
3915}}}{{{#!if p==54
3926}}}{{{#!if p==55
3937}}}{{{#!if p==56
3948}}}{{{#!if p==57
r41
3959}}}{{{#!if o+=1
r23
396}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
397##12
r11
398{{{#!if p=r[o]
r35
399}}}{{{#!if p==46
r14
400{{{#!if d=true
r20
401}}}}}}{{{#!if p==48
r9
4020}}}{{{#!if p==49
4031}}}{{{#!if p==50
4042}}}{{{#!if p==51
4053}}}{{{#!if p==52
4064}}}{{{#!if p==53
4075}}}{{{#!if p==54
4086}}}{{{#!if p==55
4097}}}{{{#!if p==56
4108}}}{{{#!if p==57
r41
4119}}}{{{#!if o+=1
r23
412}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
413##13
r11
414{{{#!if p=r[o]
r35
415}}}{{{#!if p==46
r14
416{{{#!if d=true
r20
417}}}}}}{{{#!if p==48
r9
4180}}}{{{#!if p==49
4191}}}{{{#!if p==50
4202}}}{{{#!if p==51
4213}}}{{{#!if p==52
4224}}}{{{#!if p==53
4235}}}{{{#!if p==54
4246}}}{{{#!if p==55
4257}}}{{{#!if p==56
4268}}}{{{#!if p==57
r41
4279}}}{{{#!if o+=1
r23
428}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
429##14
r11
430{{{#!if p=r[o]
r35
431}}}{{{#!if p==46
r14
432{{{#!if d=true
r20
433}}}}}}{{{#!if p==48
r9
4340}}}{{{#!if p==49
4351}}}{{{#!if p==50
4362}}}{{{#!if p==51
4373}}}{{{#!if p==52
4384}}}{{{#!if p==53
4395}}}{{{#!if p==54
4406}}}{{{#!if p==55
4417}}}{{{#!if p==56
4428}}}{{{#!if p==57
r41
4439}}}{{{#!if o+=1
r23
444}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
445##15
r11
446{{{#!if p=r[o]
r35
447}}}{{{#!if p==46
r14
448{{{#!if d=true
r20
449}}}}}}{{{#!if p==48
r9
4500}}}{{{#!if p==49
4511}}}{{{#!if p==50
4522}}}{{{#!if p==51
4533}}}{{{#!if p==52
4544}}}{{{#!if p==53
4555}}}{{{#!if p==54
4566}}}{{{#!if p==55
4577}}}{{{#!if p==56
4588}}}{{{#!if p==57
r41
4599}}}{{{#!if o+=1
r23
460}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
461##16
r11
462{{{#!if p=r[o]
r35
463}}}{{{#!if p==46
r14
464{{{#!if d=true
r20
465}}}}}}{{{#!if p==48
r9
4660}}}{{{#!if p==49
4671}}}{{{#!if p==50
4682}}}{{{#!if p==51
4693}}}{{{#!if p==52
4704}}}{{{#!if p==53
4715}}}{{{#!if p==54
4726}}}{{{#!if p==55
4737}}}{{{#!if p==56
4748}}}{{{#!if p==57
r41
4759}}}{{{#!if o+=1
r23
476}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
477##17
r11
478{{{#!if p=r[o]
r35
479}}}{{{#!if p==46
r14
480{{{#!if d=true
r20
481}}}}}}{{{#!if p==48
r9
4820}}}{{{#!if p==49
4831}}}{{{#!if p==50
4842}}}{{{#!if p==51
4853}}}{{{#!if p==52
4864}}}{{{#!if p==53
4875}}}{{{#!if p==54
4886}}}{{{#!if p==55
4897}}}{{{#!if p==56
4908}}}{{{#!if p==57
r41
4919}}}{{{#!if o+=1
r23
492}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
493##18
r11
494{{{#!if p=r[o]
r35
495}}}{{{#!if p==46
r14
496{{{#!if d=true
r20
497}}}}}}{{{#!if p==48
r9
4980}}}{{{#!if p==49
4991}}}{{{#!if p==50
5002}}}{{{#!if p==51
5013}}}{{{#!if p==52
5024}}}{{{#!if p==53
5035}}}{{{#!if p==54
5046}}}{{{#!if p==55
5057}}}{{{#!if p==56
5068}}}{{{#!if p==57
r41
5079}}}{{{#!if o+=1
r23
508}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
509##19
r11
510{{{#!if p=r[o]
r35
511}}}{{{#!if p==46
r14
512{{{#!if d=true
r20
513}}}}}}{{{#!if p==48
r9
5140}}}{{{#!if p==49
5151}}}{{{#!if p==50
5162}}}{{{#!if p==51
5173}}}{{{#!if p==52
5184}}}{{{#!if p==53
5195}}}{{{#!if p==54
5206}}}{{{#!if p==55
5217}}}{{{#!if p==56
5228}}}{{{#!if p==57
r41
5239}}}{{{#!if o+=1
r23
524}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
525##20
r11
526{{{#!if p=r[o]
r35
527}}}{{{#!if p==46
r14
528{{{#!if d=true
r20
529}}}}}}{{{#!if p==48
r9
5300}}}{{{#!if p==49
5311}}}{{{#!if p==50
5322}}}{{{#!if p==51
5333}}}{{{#!if p==52
5344}}}{{{#!if p==53
5355}}}{{{#!if p==54
5366}}}{{{#!if p==55
5377}}}{{{#!if p==56
5388}}}{{{#!if p==57
r41
5399}}}{{{#!if o+=1
r20
540}}}}}}{{{#!if o=0, l=u.length
541}}}{{{#!if u[0]==45
542##음수로 마이너스가 표시되면 넘기기
r41
543{{{#!if o+=1
r20
544}}}}}}{{{#!if l-o>2
545##소수점이 나오면 "0."으로 2자리 차지하므로 소수점 표기.
r41
546{{{#!if o+=1
r42
547##일의 자리 넘기기
r32
548}}}{{{#!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
549##".000000"은 표기하지 않음. 소수점 표기
550.{{{#!if o+=1
551}}}}}}}}}{{{#!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
552##1
r22
553{{{#!if p=u[o]
r21
554}}}{{{#!if p==48
r25
5550}}}{{{#!if p==49
r21
5561}}}{{{#!if p==50
5572}}}{{{#!if p==51
5583}}}{{{#!if p==52
5594}}}{{{#!if p==53
5605}}}{{{#!if p==54
5616}}}{{{#!if p==55
5627}}}{{{#!if p==56
5638}}}{{{#!if p==57
r41
5649}}}{{{#!if o+=1
r23
565}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48)||(u[o+4]!=48))
r21
566##2
r22
567{{{#!if p=u[o]
r21
568}}}{{{#!if p==48
5690}}}{{{#!if p==49
5701}}}{{{#!if p==50
5712}}}{{{#!if p==51
5723}}}{{{#!if p==52
5734}}}{{{#!if p==53
5745}}}{{{#!if p==54
5756}}}{{{#!if p==55
5767}}}{{{#!if p==56
5778}}}{{{#!if p==57
r41
5789}}}{{{#!if o+=1
r23
579}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48))
r21
580##3
r22
581{{{#!if p=u[o]
r21
582}}}{{{#!if p==48
5830}}}{{{#!if p==49
5841}}}{{{#!if p==50
5852}}}{{{#!if p==51
5863}}}{{{#!if p==52
5874}}}{{{#!if p==53
5885}}}{{{#!if p==54
5896}}}{{{#!if p==55
5907}}}{{{#!if p==56
5918}}}{{{#!if p==57
r41
5929}}}{{{#!if o+=1
r23
593}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48))
r21
594##4
r22
595{{{#!if p=u[o]
r21
596}}}{{{#!if p==48
5970}}}{{{#!if p==49
5981}}}{{{#!if p==50
5992}}}{{{#!if p==51
6003}}}{{{#!if p==52
6014}}}{{{#!if p==53
6025}}}{{{#!if p==54
6036}}}{{{#!if p==55
6047}}}{{{#!if p==56
6058}}}{{{#!if p==57
r41
6069}}}{{{#!if o+=1
r23
607}}}}}}{{{#!if (o<l)&&(d==true)&&(u[o+1]!=48)
r21
608##5
r22
609{{{#!if p=u[o]
r21
610}}}{{{#!if p==48
6110}}}{{{#!if p==49
6121}}}{{{#!if p==50
6132}}}{{{#!if p==51
6143}}}{{{#!if p==52
6154}}}{{{#!if p==53
6165}}}{{{#!if p==54
6176}}}{{{#!if p==55
6187}}}{{{#!if p==56
6198}}}{{{#!if p==57
r41
6209}}}{{{#!if o+=1
r23
621}}}}}}{{{#!if (o<l)&&(d==true)
r21
622##6
r22
623{{{#!if p=u[o]
r21
624}}}{{{#!if p==48
r26
625##"0" 미표기
626}}}{{{#!if p==49
r21
6271}}}{{{#!if p==50
6282}}}{{{#!if p==51
6293}}}{{{#!if p==52
6304}}}{{{#!if p==53
6315}}}{{{#!if p==54
6326}}}{{{#!if p==55
6337}}}{{{#!if p==56
6348}}}{{{#!if p==57
r41
6359}}}{{{#!if o+=1
r34
636}}}}}}}}}}}}