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

(r5으로 되돌림)
3{{{#!wiki style="font-weight: 300; font-size: 20px"
r54
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은 다른 수이므로 자리수가 다름을 표시할 용도
13'''ru''' : result upper value (integer); '''rb''' : result below value (integer)
r53
14{{{#!if this.as=a.upString(), this.bs=b.upString(), this.ru=0+0, this.rb=0+0
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
r58
19}}}{{{#!if (au=="")||(au=="-")
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
r58
26}}}{{{#!if (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
39warning code of a 01번 : 소수점 아래 자릿수를 너무 많이 입력했습니다.
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}}}}}}
47{{{#!if bu.length>19
48error code of b 01번 : 소수점 아래 자릿수를 너무 많이 입력했습니다.
49{{{#!if eb=01, ab=bb.substr(0,18)
50}}}}}}
51
52
r55
53##여기까지 주석
r54
54}}}{{{#!if as[0]!=45
r53
55@a@}}}{{{#!if as[0]==45
56(@a@)}}}{{{#!if f=='+'
57}}}{{{#!if bs[0]!=45
58@b@}}}{{{#!if bs[0]==45
r57
59(@b@)}}}}}}
r44
60==# 2-1 #==
61{{{#!wiki style="font-weight: 300; font-size: 20px"
r37
62{{{#!if +a>=0
63@a@}}}{{{#!if +a<0
r36
64(@a@)}}} {{{#!if f == '+'
r40

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

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

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

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

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

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

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

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

(r16으로 되돌림)
80##1
r11
81{{{#!if p=r[o]
r9
82}}}{{{#!if p==45
83-}}}{{{#!if p==46
r14
84{{{#!if d=true
r20
85}}}}}}{{{#!if p==48
r9
860}}}{{{#!if p==49
871}}}{{{#!if p==50
882}}}{{{#!if p==51
893}}}{{{#!if p==52
904}}}{{{#!if p==53
915}}}{{{#!if p==54
926}}}{{{#!if p==55
937}}}{{{#!if p==56
948}}}{{{#!if p==57
r41
959}}}{{{#!if o+=1
r19
96}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
97##2
r11
98{{{#!if p=r[o]
r35
99}}}{{{#!if p==46
r14
100{{{#!if d=true
r20
101}}}}}}{{{#!if p==48
r9
1020}}}{{{#!if p==49
1031}}}{{{#!if p==50
1042}}}{{{#!if p==51
1053}}}{{{#!if p==52
1064}}}{{{#!if p==53
1075}}}{{{#!if p==54
1086}}}{{{#!if p==55
1097}}}{{{#!if p==56
1108}}}{{{#!if p==57
r41
1119}}}{{{#!if o+=1
r23
112}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
113##3
r11
114{{{#!if p=r[o]
r35
115}}}{{{#!if p==46
r14
116{{{#!if d=true
r20
117}}}}}}{{{#!if p==48
r9
1180}}}{{{#!if p==49
1191}}}{{{#!if p==50
1202}}}{{{#!if p==51
1213}}}{{{#!if p==52
1224}}}{{{#!if p==53
1235}}}{{{#!if p==54
1246}}}{{{#!if p==55
1257}}}{{{#!if p==56
1268}}}{{{#!if p==57
r41
1279}}}{{{#!if o+=1
r23
128}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
129##4
r11
130{{{#!if p=r[o]
r35
131}}}{{{#!if p==46
r14
132{{{#!if d=true
r20
133}}}}}}{{{#!if p==48
r9
1340}}}{{{#!if p==49
1351}}}{{{#!if p==50
1362}}}{{{#!if p==51
1373}}}{{{#!if p==52
1384}}}{{{#!if p==53
1395}}}{{{#!if p==54
1406}}}{{{#!if p==55
1417}}}{{{#!if p==56
1428}}}{{{#!if p==57
r41
1439}}}{{{#!if o+=1
r23
144}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
145##5
r11
146{{{#!if p=r[o]
r35
147}}}{{{#!if p==46
r14
148{{{#!if d=true
r20
149}}}}}}{{{#!if p==48
r9
1500}}}{{{#!if p==49
1511}}}{{{#!if p==50
1522}}}{{{#!if p==51
1533}}}{{{#!if p==52
1544}}}{{{#!if p==53
1555}}}{{{#!if p==54
1566}}}{{{#!if p==55
1577}}}{{{#!if p==56
1588}}}{{{#!if p==57
r41
1599}}}{{{#!if o+=1
r23
160}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
161##6
r11
162{{{#!if p=r[o]
r35
163}}}{{{#!if p==46
r14
164{{{#!if d=true
r20
165}}}}}}{{{#!if p==48
r9
1660}}}{{{#!if p==49
1671}}}{{{#!if p==50
1682}}}{{{#!if p==51
1693}}}{{{#!if p==52
1704}}}{{{#!if p==53
1715}}}{{{#!if p==54
1726}}}{{{#!if p==55
1737}}}{{{#!if p==56
1748}}}{{{#!if p==57
r41
1759}}}{{{#!if o+=1
r23
176}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
177##7
r11
178{{{#!if p=r[o]
r35
179}}}{{{#!if p==46
r14
180{{{#!if d=true
r20
181}}}}}}{{{#!if p==48
r9
1820}}}{{{#!if p==49
1831}}}{{{#!if p==50
1842}}}{{{#!if p==51
1853}}}{{{#!if p==52
1864}}}{{{#!if p==53
1875}}}{{{#!if p==54
1886}}}{{{#!if p==55
1897}}}{{{#!if p==56
1908}}}{{{#!if p==57
r41
1919}}}{{{#!if o+=1
r23
192}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
193##8
r11
194{{{#!if p=r[o]
r35
195}}}{{{#!if p==46
r14
196{{{#!if d=true
r20
197}}}}}}{{{#!if p==48
r9
1980}}}{{{#!if p==49
1991}}}{{{#!if p==50
2002}}}{{{#!if p==51
2013}}}{{{#!if p==52
2024}}}{{{#!if p==53
2035}}}{{{#!if p==54
2046}}}{{{#!if p==55
2057}}}{{{#!if p==56
2068}}}{{{#!if p==57
r41
2079}}}{{{#!if o+=1
r23
208}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
209##9
r11
210{{{#!if p=r[o]
r35
211}}}{{{#!if p==46
r14
212{{{#!if d=true
r20
213}}}}}}{{{#!if p==48
r9
2140}}}{{{#!if p==49
2151}}}{{{#!if p==50
2162}}}{{{#!if p==51
2173}}}{{{#!if p==52
2184}}}{{{#!if p==53
2195}}}{{{#!if p==54
2206}}}{{{#!if p==55
2217}}}{{{#!if p==56
2228}}}{{{#!if p==57
r41
2239}}}{{{#!if o+=1
r23
224}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
225##10
r11
226{{{#!if p=r[o]
r35
227}}}{{{#!if p==46
r14
228{{{#!if d=true
r20
229}}}}}}{{{#!if p==48
r9
2300}}}{{{#!if p==49
2311}}}{{{#!if p==50
2322}}}{{{#!if p==51
2333}}}{{{#!if p==52
2344}}}{{{#!if p==53
2355}}}{{{#!if p==54
2366}}}{{{#!if p==55
2377}}}{{{#!if p==56
2388}}}{{{#!if p==57
r41
2399}}}{{{#!if o+=1
r23
240}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
241##11
r11
242{{{#!if p=r[o]
r35
243}}}{{{#!if p==46
r14
244{{{#!if d=true
r20
245}}}}}}{{{#!if p==48
r9
2460}}}{{{#!if p==49
2471}}}{{{#!if p==50
2482}}}{{{#!if p==51
2493}}}{{{#!if p==52
2504}}}{{{#!if p==53
2515}}}{{{#!if p==54
2526}}}{{{#!if p==55
2537}}}{{{#!if p==56
2548}}}{{{#!if p==57
r41
2559}}}{{{#!if o+=1
r23
256}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
257##12
r11
258{{{#!if p=r[o]
r35
259}}}{{{#!if p==46
r14
260{{{#!if d=true
r20
261}}}}}}{{{#!if p==48
r9
2620}}}{{{#!if p==49
2631}}}{{{#!if p==50
2642}}}{{{#!if p==51
2653}}}{{{#!if p==52
2664}}}{{{#!if p==53
2675}}}{{{#!if p==54
2686}}}{{{#!if p==55
2697}}}{{{#!if p==56
2708}}}{{{#!if p==57
r41
2719}}}{{{#!if o+=1
r23
272}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
273##13
r11
274{{{#!if p=r[o]
r35
275}}}{{{#!if p==46
r14
276{{{#!if d=true
r20
277}}}}}}{{{#!if p==48
r9
2780}}}{{{#!if p==49
2791}}}{{{#!if p==50
2802}}}{{{#!if p==51
2813}}}{{{#!if p==52
2824}}}{{{#!if p==53
2835}}}{{{#!if p==54
2846}}}{{{#!if p==55
2857}}}{{{#!if p==56
2868}}}{{{#!if p==57
r41
2879}}}{{{#!if o+=1
r23
288}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
289##14
r11
290{{{#!if p=r[o]
r35
291}}}{{{#!if p==46
r14
292{{{#!if d=true
r20
293}}}}}}{{{#!if p==48
r9
2940}}}{{{#!if p==49
2951}}}{{{#!if p==50
2962}}}{{{#!if p==51
2973}}}{{{#!if p==52
2984}}}{{{#!if p==53
2995}}}{{{#!if p==54
3006}}}{{{#!if p==55
3017}}}{{{#!if p==56
3028}}}{{{#!if p==57
r41
3039}}}{{{#!if o+=1
r23
304}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
305##15
r11
306{{{#!if p=r[o]
r35
307}}}{{{#!if p==46
r14
308{{{#!if d=true
r20
309}}}}}}{{{#!if p==48
r9
3100}}}{{{#!if p==49
3111}}}{{{#!if p==50
3122}}}{{{#!if p==51
3133}}}{{{#!if p==52
3144}}}{{{#!if p==53
3155}}}{{{#!if p==54
3166}}}{{{#!if p==55
3177}}}{{{#!if p==56
3188}}}{{{#!if p==57
r41
3199}}}{{{#!if o+=1
r23
320}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
321##16
r11
322{{{#!if p=r[o]
r35
323}}}{{{#!if p==46
r14
324{{{#!if d=true
r20
325}}}}}}{{{#!if p==48
r9
3260}}}{{{#!if p==49
3271}}}{{{#!if p==50
3282}}}{{{#!if p==51
3293}}}{{{#!if p==52
3304}}}{{{#!if p==53
3315}}}{{{#!if p==54
3326}}}{{{#!if p==55
3337}}}{{{#!if p==56
3348}}}{{{#!if p==57
r41
3359}}}{{{#!if o+=1
r23
336}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
337##17
r11
338{{{#!if p=r[o]
r35
339}}}{{{#!if p==46
r14
340{{{#!if d=true
r20
341}}}}}}{{{#!if p==48
r9
3420}}}{{{#!if p==49
3431}}}{{{#!if p==50
3442}}}{{{#!if p==51
3453}}}{{{#!if p==52
3464}}}{{{#!if p==53
3475}}}{{{#!if p==54
3486}}}{{{#!if p==55
3497}}}{{{#!if p==56
3508}}}{{{#!if p==57
r41
3519}}}{{{#!if o+=1
r23
352}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
353##18
r11
354{{{#!if p=r[o]
r35
355}}}{{{#!if p==46
r14
356{{{#!if d=true
r20
357}}}}}}{{{#!if p==48
r9
3580}}}{{{#!if p==49
3591}}}{{{#!if p==50
3602}}}{{{#!if p==51
3613}}}{{{#!if p==52
3624}}}{{{#!if p==53
3635}}}{{{#!if p==54
3646}}}{{{#!if p==55
3657}}}{{{#!if p==56
3668}}}{{{#!if p==57
r41
3679}}}{{{#!if o+=1
r23
368}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
369##19
r11
370{{{#!if p=r[o]
r35
371}}}{{{#!if p==46
r14
372{{{#!if d=true
r20
373}}}}}}{{{#!if p==48
r9
3740}}}{{{#!if p==49
3751}}}{{{#!if p==50
3762}}}{{{#!if p==51
3773}}}{{{#!if p==52
3784}}}{{{#!if p==53
3795}}}{{{#!if p==54
3806}}}{{{#!if p==55
3817}}}{{{#!if p==56
3828}}}{{{#!if p==57
r41
3839}}}{{{#!if o+=1
r23
384}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
385##20
r11
386{{{#!if p=r[o]
r35
387}}}{{{#!if p==46
r14
388{{{#!if d=true
r20
389}}}}}}{{{#!if p==48
r9
3900}}}{{{#!if p==49
3911}}}{{{#!if p==50
3922}}}{{{#!if p==51
3933}}}{{{#!if p==52
3944}}}{{{#!if p==53
3955}}}{{{#!if p==54
3966}}}{{{#!if p==55
3977}}}{{{#!if p==56
3988}}}{{{#!if p==57
r41
3999}}}{{{#!if o+=1
r20
400}}}}}}{{{#!if o=0, l=u.length
401}}}{{{#!if u[0]==45
402##음수로 마이너스가 표시되면 넘기기
r41
403{{{#!if o+=1
r20
404}}}}}}{{{#!if l-o>2
405##소수점이 나오면 "0."으로 2자리 차지하므로 소수점 표기.
r41
406{{{#!if o+=1
r42
407##일의 자리 넘기기
r32
408}}}{{{#!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
409##".000000"은 표기하지 않음. 소수점 표기
410.{{{#!if o+=1
411}}}}}}}}}{{{#!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
412##1
r22
413{{{#!if p=u[o]
r21
414}}}{{{#!if p==48
r25
4150}}}{{{#!if p==49
r21
4161}}}{{{#!if p==50
4172}}}{{{#!if p==51
4183}}}{{{#!if p==52
4194}}}{{{#!if p==53
4205}}}{{{#!if p==54
4216}}}{{{#!if p==55
4227}}}{{{#!if p==56
4238}}}{{{#!if p==57
r41
4249}}}{{{#!if o+=1
r23
425}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48)||(u[o+4]!=48))
r21
426##2
r22
427{{{#!if p=u[o]
r21
428}}}{{{#!if p==48
4290}}}{{{#!if p==49
4301}}}{{{#!if p==50
4312}}}{{{#!if p==51
4323}}}{{{#!if p==52
4334}}}{{{#!if p==53
4345}}}{{{#!if p==54
4356}}}{{{#!if p==55
4367}}}{{{#!if p==56
4378}}}{{{#!if p==57
r41
4389}}}{{{#!if o+=1
r23
439}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48))
r21
440##3
r22
441{{{#!if p=u[o]
r21
442}}}{{{#!if p==48
4430}}}{{{#!if p==49
4441}}}{{{#!if p==50
4452}}}{{{#!if p==51
4463}}}{{{#!if p==52
4474}}}{{{#!if p==53
4485}}}{{{#!if p==54
4496}}}{{{#!if p==55
4507}}}{{{#!if p==56
4518}}}{{{#!if p==57
r41
4529}}}{{{#!if o+=1
r23
453}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48))
r21
454##4
r22
455{{{#!if p=u[o]
r21
456}}}{{{#!if p==48
4570}}}{{{#!if p==49
4581}}}{{{#!if p==50
4592}}}{{{#!if p==51
4603}}}{{{#!if p==52
4614}}}{{{#!if p==53
4625}}}{{{#!if p==54
4636}}}{{{#!if p==55
4647}}}{{{#!if p==56
4658}}}{{{#!if p==57
r41
4669}}}{{{#!if o+=1
r23
467}}}}}}{{{#!if (o<l)&&(d==true)&&(u[o+1]!=48)
r21
468##5
r22
469{{{#!if p=u[o]
r21
470}}}{{{#!if p==48
4710}}}{{{#!if p==49
4721}}}{{{#!if p==50
4732}}}{{{#!if p==51
4743}}}{{{#!if p==52
4754}}}{{{#!if p==53
4765}}}{{{#!if p==54
4776}}}{{{#!if p==55
4787}}}{{{#!if p==56
4798}}}{{{#!if p==57
r41
4809}}}{{{#!if o+=1
r23
481}}}}}}{{{#!if (o<l)&&(d==true)
r21
482##6
r22
483{{{#!if p=u[o]
r21
484}}}{{{#!if p==48
r26
485##"0" 미표기
486}}}{{{#!if p==49
r21
4871}}}{{{#!if p==50
4882}}}{{{#!if p==51
4893}}}{{{#!if p==52
4904}}}{{{#!if p==53
4915}}}{{{#!if p==54
4926}}}{{{#!if p==55
4937}}}{{{#!if p==56
4948}}}{{{#!if p==57
r41
4959}}}{{{#!if o+=1
r34
496}}}}}}}}}}}}