r66
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은 다른 수이므로 자리수가 다름을 표시할 용도
13'''ru''' : result upper value (integer); '''rb''' : result below value (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 번 : 입력한 변수는 숫자로 읽을 수 없습니다. 반점(,)을 입력했다면 반점을 지우고 다시 입력하세요.
r62
54
r65
55error code 03 번 : 오버플로
56error code 04 번 : 언더플로
57error code 05 번 : 0으로 나눌 수 없습니다.
r64
58
r55
59##여기까지 주석
r54
60}}}{{{#!if as[0]!=45
r53
61@a@}}}{{{#!if as[0]==45
62(@a@)}}}{{{#!if f=='+'
63}}}{{{#!if bs[0]!=45
64@b@}}}{{{#!if bs[0]==45
r57
65(@b@)}}}}}}
r44
66==# 2-1 #==
67{{{#!wiki style="font-weight: 300; font-size: 20px"
r37
68{{{#!if +a>=0
69@a@}}}{{{#!if +a<0
r36
70(@a@)}}} {{{#!if f == '+'
r40

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

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

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

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

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

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

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

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

(r16으로 되돌림)
86##1
r11
87{{{#!if p=r[o]
r9
88}}}{{{#!if p==45
89-}}}{{{#!if p==46
r14
90{{{#!if d=true
r20
91}}}}}}{{{#!if p==48
r9
920}}}{{{#!if p==49
931}}}{{{#!if p==50
942}}}{{{#!if p==51
953}}}{{{#!if p==52
964}}}{{{#!if p==53
975}}}{{{#!if p==54
986}}}{{{#!if p==55
997}}}{{{#!if p==56
1008}}}{{{#!if p==57
r41
1019}}}{{{#!if o+=1
r19
102}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
103##2
r11
104{{{#!if p=r[o]
r35
105}}}{{{#!if p==46
r14
106{{{#!if d=true
r20
107}}}}}}{{{#!if p==48
r9
1080}}}{{{#!if p==49
1091}}}{{{#!if p==50
1102}}}{{{#!if p==51
1113}}}{{{#!if p==52
1124}}}{{{#!if p==53
1135}}}{{{#!if p==54
1146}}}{{{#!if p==55
1157}}}{{{#!if p==56
1168}}}{{{#!if p==57
r41
1179}}}{{{#!if o+=1
r23
118}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
119##3
r11
120{{{#!if p=r[o]
r35
121}}}{{{#!if p==46
r14
122{{{#!if d=true
r20
123}}}}}}{{{#!if p==48
r9
1240}}}{{{#!if p==49
1251}}}{{{#!if p==50
1262}}}{{{#!if p==51
1273}}}{{{#!if p==52
1284}}}{{{#!if p==53
1295}}}{{{#!if p==54
1306}}}{{{#!if p==55
1317}}}{{{#!if p==56
1328}}}{{{#!if p==57
r41
1339}}}{{{#!if o+=1
r23
134}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
135##4
r11
136{{{#!if p=r[o]
r35
137}}}{{{#!if p==46
r14
138{{{#!if d=true
r20
139}}}}}}{{{#!if p==48
r9
1400}}}{{{#!if p==49
1411}}}{{{#!if p==50
1422}}}{{{#!if p==51
1433}}}{{{#!if p==52
1444}}}{{{#!if p==53
1455}}}{{{#!if p==54
1466}}}{{{#!if p==55
1477}}}{{{#!if p==56
1488}}}{{{#!if p==57
r41
1499}}}{{{#!if o+=1
r23
150}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
151##5
r11
152{{{#!if p=r[o]
r35
153}}}{{{#!if p==46
r14
154{{{#!if d=true
r20
155}}}}}}{{{#!if p==48
r9
1560}}}{{{#!if p==49
1571}}}{{{#!if p==50
1582}}}{{{#!if p==51
1593}}}{{{#!if p==52
1604}}}{{{#!if p==53
1615}}}{{{#!if p==54
1626}}}{{{#!if p==55
1637}}}{{{#!if p==56
1648}}}{{{#!if p==57
r41
1659}}}{{{#!if o+=1
r23
166}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
167##6
r11
168{{{#!if p=r[o]
r35
169}}}{{{#!if p==46
r14
170{{{#!if d=true
r20
171}}}}}}{{{#!if p==48
r9
1720}}}{{{#!if p==49
1731}}}{{{#!if p==50
1742}}}{{{#!if p==51
1753}}}{{{#!if p==52
1764}}}{{{#!if p==53
1775}}}{{{#!if p==54
1786}}}{{{#!if p==55
1797}}}{{{#!if p==56
1808}}}{{{#!if p==57
r41
1819}}}{{{#!if o+=1
r23
182}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
183##7
r11
184{{{#!if p=r[o]
r35
185}}}{{{#!if p==46
r14
186{{{#!if d=true
r20
187}}}}}}{{{#!if p==48
r9
1880}}}{{{#!if p==49
1891}}}{{{#!if p==50
1902}}}{{{#!if p==51
1913}}}{{{#!if p==52
1924}}}{{{#!if p==53
1935}}}{{{#!if p==54
1946}}}{{{#!if p==55
1957}}}{{{#!if p==56
1968}}}{{{#!if p==57
r41
1979}}}{{{#!if o+=1
r23
198}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
199##8
r11
200{{{#!if p=r[o]
r35
201}}}{{{#!if p==46
r14
202{{{#!if d=true
r20
203}}}}}}{{{#!if p==48
r9
2040}}}{{{#!if p==49
2051}}}{{{#!if p==50
2062}}}{{{#!if p==51
2073}}}{{{#!if p==52
2084}}}{{{#!if p==53
2095}}}{{{#!if p==54
2106}}}{{{#!if p==55
2117}}}{{{#!if p==56
2128}}}{{{#!if p==57
r41
2139}}}{{{#!if o+=1
r23
214}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
215##9
r11
216{{{#!if p=r[o]
r35
217}}}{{{#!if p==46
r14
218{{{#!if d=true
r20
219}}}}}}{{{#!if p==48
r9
2200}}}{{{#!if p==49
2211}}}{{{#!if p==50
2222}}}{{{#!if p==51
2233}}}{{{#!if p==52
2244}}}{{{#!if p==53
2255}}}{{{#!if p==54
2266}}}{{{#!if p==55
2277}}}{{{#!if p==56
2288}}}{{{#!if p==57
r41
2299}}}{{{#!if o+=1
r23
230}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
231##10
r11
232{{{#!if p=r[o]
r35
233}}}{{{#!if p==46
r14
234{{{#!if d=true
r20
235}}}}}}{{{#!if p==48
r9
2360}}}{{{#!if p==49
2371}}}{{{#!if p==50
2382}}}{{{#!if p==51
2393}}}{{{#!if p==52
2404}}}{{{#!if p==53
2415}}}{{{#!if p==54
2426}}}{{{#!if p==55
2437}}}{{{#!if p==56
2448}}}{{{#!if p==57
r41
2459}}}{{{#!if o+=1
r23
246}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
247##11
r11
248{{{#!if p=r[o]
r35
249}}}{{{#!if p==46
r14
250{{{#!if d=true
r20
251}}}}}}{{{#!if p==48
r9
2520}}}{{{#!if p==49
2531}}}{{{#!if p==50
2542}}}{{{#!if p==51
2553}}}{{{#!if p==52
2564}}}{{{#!if p==53
2575}}}{{{#!if p==54
2586}}}{{{#!if p==55
2597}}}{{{#!if p==56
2608}}}{{{#!if p==57
r41
2619}}}{{{#!if o+=1
r23
262}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
263##12
r11
264{{{#!if p=r[o]
r35
265}}}{{{#!if p==46
r14
266{{{#!if d=true
r20
267}}}}}}{{{#!if p==48
r9
2680}}}{{{#!if p==49
2691}}}{{{#!if p==50
2702}}}{{{#!if p==51
2713}}}{{{#!if p==52
2724}}}{{{#!if p==53
2735}}}{{{#!if p==54
2746}}}{{{#!if p==55
2757}}}{{{#!if p==56
2768}}}{{{#!if p==57
r41
2779}}}{{{#!if o+=1
r23
278}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
279##13
r11
280{{{#!if p=r[o]
r35
281}}}{{{#!if p==46
r14
282{{{#!if d=true
r20
283}}}}}}{{{#!if p==48
r9
2840}}}{{{#!if p==49
2851}}}{{{#!if p==50
2862}}}{{{#!if p==51
2873}}}{{{#!if p==52
2884}}}{{{#!if p==53
2895}}}{{{#!if p==54
2906}}}{{{#!if p==55
2917}}}{{{#!if p==56
2928}}}{{{#!if p==57
r41
2939}}}{{{#!if o+=1
r23
294}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
295##14
r11
296{{{#!if p=r[o]
r35
297}}}{{{#!if p==46
r14
298{{{#!if d=true
r20
299}}}}}}{{{#!if p==48
r9
3000}}}{{{#!if p==49
3011}}}{{{#!if p==50
3022}}}{{{#!if p==51
3033}}}{{{#!if p==52
3044}}}{{{#!if p==53
3055}}}{{{#!if p==54
3066}}}{{{#!if p==55
3077}}}{{{#!if p==56
3088}}}{{{#!if p==57
r41
3099}}}{{{#!if o+=1
r23
310}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
311##15
r11
312{{{#!if p=r[o]
r35
313}}}{{{#!if p==46
r14
314{{{#!if d=true
r20
315}}}}}}{{{#!if p==48
r9
3160}}}{{{#!if p==49
3171}}}{{{#!if p==50
3182}}}{{{#!if p==51
3193}}}{{{#!if p==52
3204}}}{{{#!if p==53
3215}}}{{{#!if p==54
3226}}}{{{#!if p==55
3237}}}{{{#!if p==56
3248}}}{{{#!if p==57
r41
3259}}}{{{#!if o+=1
r23
326}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
327##16
r11
328{{{#!if p=r[o]
r35
329}}}{{{#!if p==46
r14
330{{{#!if d=true
r20
331}}}}}}{{{#!if p==48
r9
3320}}}{{{#!if p==49
3331}}}{{{#!if p==50
3342}}}{{{#!if p==51
3353}}}{{{#!if p==52
3364}}}{{{#!if p==53
3375}}}{{{#!if p==54
3386}}}{{{#!if p==55
3397}}}{{{#!if p==56
3408}}}{{{#!if p==57
r41
3419}}}{{{#!if o+=1
r23
342}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
343##17
r11
344{{{#!if p=r[o]
r35
345}}}{{{#!if p==46
r14
346{{{#!if d=true
r20
347}}}}}}{{{#!if p==48
r9
3480}}}{{{#!if p==49
3491}}}{{{#!if p==50
3502}}}{{{#!if p==51
3513}}}{{{#!if p==52
3524}}}{{{#!if p==53
3535}}}{{{#!if p==54
3546}}}{{{#!if p==55
3557}}}{{{#!if p==56
3568}}}{{{#!if p==57
r41
3579}}}{{{#!if o+=1
r23
358}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
359##18
r11
360{{{#!if p=r[o]
r35
361}}}{{{#!if p==46
r14
362{{{#!if d=true
r20
363}}}}}}{{{#!if p==48
r9
3640}}}{{{#!if p==49
3651}}}{{{#!if p==50
3662}}}{{{#!if p==51
3673}}}{{{#!if p==52
3684}}}{{{#!if p==53
3695}}}{{{#!if p==54
3706}}}{{{#!if p==55
3717}}}{{{#!if p==56
3728}}}{{{#!if p==57
r41
3739}}}{{{#!if o+=1
r23
374}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
375##19
r11
376{{{#!if p=r[o]
r35
377}}}{{{#!if p==46
r14
378{{{#!if d=true
r20
379}}}}}}{{{#!if p==48
r9
3800}}}{{{#!if p==49
3811}}}{{{#!if p==50
3822}}}{{{#!if p==51
3833}}}{{{#!if p==52
3844}}}{{{#!if p==53
3855}}}{{{#!if p==54
3866}}}{{{#!if p==55
3877}}}{{{#!if p==56
3888}}}{{{#!if p==57
r41
3899}}}{{{#!if o+=1
r23
390}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
391##20
r11
392{{{#!if p=r[o]
r35
393}}}{{{#!if p==46
r14
394{{{#!if d=true
r20
395}}}}}}{{{#!if p==48
r9
3960}}}{{{#!if p==49
3971}}}{{{#!if p==50
3982}}}{{{#!if p==51
3993}}}{{{#!if p==52
4004}}}{{{#!if p==53
4015}}}{{{#!if p==54
4026}}}{{{#!if p==55
4037}}}{{{#!if p==56
4048}}}{{{#!if p==57
r41
4059}}}{{{#!if o+=1
r20
406}}}}}}{{{#!if o=0, l=u.length
407}}}{{{#!if u[0]==45
408##음수로 마이너스가 표시되면 넘기기
r41
409{{{#!if o+=1
r20
410}}}}}}{{{#!if l-o>2
411##소수점이 나오면 "0."으로 2자리 차지하므로 소수점 표기.
r41
412{{{#!if o+=1
r42
413##일의 자리 넘기기
r32
414}}}{{{#!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
415##".000000"은 표기하지 않음. 소수점 표기
416.{{{#!if o+=1
417}}}}}}}}}{{{#!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
418##1
r22
419{{{#!if p=u[o]
r21
420}}}{{{#!if p==48
r25
4210}}}{{{#!if p==49
r21
4221}}}{{{#!if p==50
4232}}}{{{#!if p==51
4243}}}{{{#!if p==52
4254}}}{{{#!if p==53
4265}}}{{{#!if p==54
4276}}}{{{#!if p==55
4287}}}{{{#!if p==56
4298}}}{{{#!if p==57
r41
4309}}}{{{#!if o+=1
r23
431}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48)||(u[o+4]!=48))
r21
432##2
r22
433{{{#!if p=u[o]
r21
434}}}{{{#!if p==48
4350}}}{{{#!if p==49
4361}}}{{{#!if p==50
4372}}}{{{#!if p==51
4383}}}{{{#!if p==52
4394}}}{{{#!if p==53
4405}}}{{{#!if p==54
4416}}}{{{#!if p==55
4427}}}{{{#!if p==56
4438}}}{{{#!if p==57
r41
4449}}}{{{#!if o+=1
r23
445}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48))
r21
446##3
r22
447{{{#!if p=u[o]
r21
448}}}{{{#!if p==48
4490}}}{{{#!if p==49
4501}}}{{{#!if p==50
4512}}}{{{#!if p==51
4523}}}{{{#!if p==52
4534}}}{{{#!if p==53
4545}}}{{{#!if p==54
4556}}}{{{#!if p==55
4567}}}{{{#!if p==56
4578}}}{{{#!if p==57
r41
4589}}}{{{#!if o+=1
r23
459}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48))
r21
460##4
r22
461{{{#!if p=u[o]
r21
462}}}{{{#!if p==48
4630}}}{{{#!if p==49
4641}}}{{{#!if p==50
4652}}}{{{#!if p==51
4663}}}{{{#!if p==52
4674}}}{{{#!if p==53
4685}}}{{{#!if p==54
4696}}}{{{#!if p==55
4707}}}{{{#!if p==56
4718}}}{{{#!if p==57
r41
4729}}}{{{#!if o+=1
r23
473}}}}}}{{{#!if (o<l)&&(d==true)&&(u[o+1]!=48)
r21
474##5
r22
475{{{#!if p=u[o]
r21
476}}}{{{#!if p==48
4770}}}{{{#!if p==49
4781}}}{{{#!if p==50
4792}}}{{{#!if p==51
4803}}}{{{#!if p==52
4814}}}{{{#!if p==53
4825}}}{{{#!if p==54
4836}}}{{{#!if p==55
4847}}}{{{#!if p==56
4858}}}{{{#!if p==57
r41
4869}}}{{{#!if o+=1
r23
487}}}}}}{{{#!if (o<l)&&(d==true)
r21
488##6
r22
489{{{#!if p=u[o]
r21
490}}}{{{#!if p==48
r26
491##"0" 미표기
492}}}{{{#!if p==49
r21
4931}}}{{{#!if p==50
4942}}}{{{#!if p==51
4953}}}{{{#!if p==52
4964}}}{{{#!if p==53
4975}}}{{{#!if p==54
4986}}}{{{#!if p==55
4997}}}{{{#!if p==56
5008}}}{{{#!if p==57
r41
5019}}}{{{#!if o+=1
r34
502}}}}}}}}}}}}