본문으로 건너뛰기

계산기2(r56판 Blame)

r56
r38
1[[분류:냥]][Include(틀:상세 내용, 설명대상=원본, 문서명=틀\:계산기)]
r39
2== 2-2 ==
r1
3{{{#!wiki style="font-weight: 300; font-size: 20px"
r49
4{{{#!wiki style="display: none;"
r54
5##초기화
r50
6'''as''' : "a" value to string; '''bs''' : "b" value to string;
r51
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);
r50
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)
r48
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
r51
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
r53
19}}}{{{#!if (au=="")||(au=="-")
20.12345 식으로 또는 -.12345 식으로 기입할 경우 upper 값을 0으로 부여함.
r51
21{{{#!if au=0+0
22}}}}}}}}}{{{#!if ad==-1
r48
23{{{#!if this.au=as, ab="", ap=0+0
24}}}}}}{{{#!if bd!=-1
r51
25{{{#!if this.bu=bs.substr.(0,bd), this.bb=bs.substr(bd+1, bl-bd-1), this.bp=bb.length
r53
26}}}{{{#!if (bu=="")||(bu=="-")
r51
27{{{#!if bu=0+0
r48
28}}}}}}}}}{{{#!if bd==-1
29{{{#!if this.bu=bs, bb="", bp=0+0
r46
30}}}}}}
r54
31
r56
32##유효성 검사.
33the seed에서 지원되는 long(integer)가 unsigned였으면 1844경까지 가서 충분히 19자리로 놀 수 있었는데, signed long이므로 922경까지 가능한 공간에서 18자리로 잘라내기. 소수점 위 최대 18자리, 소수점 아래 최대 18자리
34{{{#!if (as.substr(0,ad)).length>19
35error code of a 01번 : 오버플로
36{{{#!if ea=01
37}}}}}}
r55
38
r50
39##여기까지 주석
r49
40}}}{{{#!if as[0]!=45
r48
41@a@}}}{{{#!if as[0]==45
42(@a@)}}}{{{#!if f=='+'
43}}}{{{#!if bs[0]!=45
44@b@}}}{{{#!if bs[0]==45
r52
45(@b@)}}}}}}
r39
46==# 2-1 #==
47{{{#!wiki style="font-weight: 300; font-size: 20px"
r33
48{{{#!if +a>=0
49@a@}}}{{{#!if +a<0
r32
50(@a@)}}} {{{#!if f == '+'
r13
51{{{#!if r =(+a)+(+b)+0.0, u=(+a)+(+b)
r1
52}}}+}}}{{{#!if f == '-'
r13
53{{{#!if r =(+a)-(+b)+0.0, u=(+a)-(+b)
r1
54}}}-}}}{{{#!if f == '*'
r13
55{{{#!if r =((+a)+0.0)*((+b)+0.0), u=(+a)*(+b)
r1
56}}}×}}}{{{#!if f == '/'
r13
57{{{#!if r =((+a)+0.0)/((+b)+0.0), u=(+a)/(+b)
r33
58}}}÷}}} {{{#!if +b>=0
59@b@}}}{{{#!if +b<0
r32
60(@b@)}}} = {{{#!if u=r-u, d=false
r14
61##u : 나누어떨어지는 부분 절삭하기. d : dot 매김 여부
r16
62}}}{{{#!if r=r.toString(), u=u.toString()
r8
63}}}{{{#!if o=0, l=r.length
r9
64}}}{{{#!if (r!=null)&&(r!="")
65{{{#!if +o<l
r14
66##1
r9
67{{{#!if p=r[o]
r7
68}}}{{{#!if p==45
69-}}}{{{#!if p==46
r12
70{{{#!if d=true
r16
71}}}}}}{{{#!if p==48
r7
720}}}{{{#!if p==49
731}}}{{{#!if p==50
742}}}{{{#!if p==51
753}}}{{{#!if p==52
764}}}{{{#!if p==53
775}}}{{{#!if p==54
786}}}{{{#!if p==55
797}}}{{{#!if p==56
808}}}{{{#!if p==57
r36
819}}}{{{#!if o+=1
r15
82}}}}}}{{{#!if (o<l)&&(d==false)
r14
83##2
r9
84{{{#!if p=r[o]
r31
85}}}{{{#!if p==46
r12
86{{{#!if d=true
r16
87}}}}}}{{{#!if p==48
r7
880}}}{{{#!if p==49
891}}}{{{#!if p==50
902}}}{{{#!if p==51
913}}}{{{#!if p==52
924}}}{{{#!if p==53
935}}}{{{#!if p==54
946}}}{{{#!if p==55
957}}}{{{#!if p==56
968}}}{{{#!if p==57
r36
979}}}{{{#!if o+=1
r19
98}}}}}}{{{#!if (o<l)&&(d==false)
r14
99##3
r9
100{{{#!if p=r[o]
r31
101}}}{{{#!if p==46
r12
102{{{#!if d=true
r16
103}}}}}}{{{#!if p==48
r7
1040}}}{{{#!if p==49
1051}}}{{{#!if p==50
1062}}}{{{#!if p==51
1073}}}{{{#!if p==52
1084}}}{{{#!if p==53
1095}}}{{{#!if p==54
1106}}}{{{#!if p==55
1117}}}{{{#!if p==56
1128}}}{{{#!if p==57
r36
1139}}}{{{#!if o+=1
r19
114}}}}}}{{{#!if (o<l)&&(d==false)
r14
115##4
r9
116{{{#!if p=r[o]
r31
117}}}{{{#!if p==46
r12
118{{{#!if d=true
r16
119}}}}}}{{{#!if p==48
r7
1200}}}{{{#!if p==49
1211}}}{{{#!if p==50
1222}}}{{{#!if p==51
1233}}}{{{#!if p==52
1244}}}{{{#!if p==53
1255}}}{{{#!if p==54
1266}}}{{{#!if p==55
1277}}}{{{#!if p==56
1288}}}{{{#!if p==57
r36
1299}}}{{{#!if o+=1
r19
130}}}}}}{{{#!if (o<l)&&(d==false)
r14
131##5
r9
132{{{#!if p=r[o]
r31
133}}}{{{#!if p==46
r12
134{{{#!if d=true
r16
135}}}}}}{{{#!if p==48
r7
1360}}}{{{#!if p==49
1371}}}{{{#!if p==50
1382}}}{{{#!if p==51
1393}}}{{{#!if p==52
1404}}}{{{#!if p==53
1415}}}{{{#!if p==54
1426}}}{{{#!if p==55
1437}}}{{{#!if p==56
1448}}}{{{#!if p==57
r36
1459}}}{{{#!if o+=1
r19
146}}}}}}{{{#!if (o<l)&&(d==false)
r14
147##6
r9
148{{{#!if p=r[o]
r31
149}}}{{{#!if p==46
r12
150{{{#!if d=true
r16
151}}}}}}{{{#!if p==48
r7
1520}}}{{{#!if p==49
1531}}}{{{#!if p==50
1542}}}{{{#!if p==51
1553}}}{{{#!if p==52
1564}}}{{{#!if p==53
1575}}}{{{#!if p==54
1586}}}{{{#!if p==55
1597}}}{{{#!if p==56
1608}}}{{{#!if p==57
r36
1619}}}{{{#!if o+=1
r19
162}}}}}}{{{#!if (o<l)&&(d==false)
r14
163##7
r9
164{{{#!if p=r[o]
r31
165}}}{{{#!if p==46
r12
166{{{#!if d=true
r16
167}}}}}}{{{#!if p==48
r7
1680}}}{{{#!if p==49
1691}}}{{{#!if p==50
1702}}}{{{#!if p==51
1713}}}{{{#!if p==52
1724}}}{{{#!if p==53
1735}}}{{{#!if p==54
1746}}}{{{#!if p==55
1757}}}{{{#!if p==56
1768}}}{{{#!if p==57
r36
1779}}}{{{#!if o+=1
r19
178}}}}}}{{{#!if (o<l)&&(d==false)
r14
179##8
r9
180{{{#!if p=r[o]
r31
181}}}{{{#!if p==46
r12
182{{{#!if d=true
r16
183}}}}}}{{{#!if p==48
r7
1840}}}{{{#!if p==49
1851}}}{{{#!if p==50
1862}}}{{{#!if p==51
1873}}}{{{#!if p==52
1884}}}{{{#!if p==53
1895}}}{{{#!if p==54
1906}}}{{{#!if p==55
1917}}}{{{#!if p==56
1928}}}{{{#!if p==57
r36
1939}}}{{{#!if o+=1
r19
194}}}}}}{{{#!if (o<l)&&(d==false)
r14
195##9
r9
196{{{#!if p=r[o]
r31
197}}}{{{#!if p==46
r12
198{{{#!if d=true
r16
199}}}}}}{{{#!if p==48
r7
2000}}}{{{#!if p==49
2011}}}{{{#!if p==50
2022}}}{{{#!if p==51
2033}}}{{{#!if p==52
2044}}}{{{#!if p==53
2055}}}{{{#!if p==54
2066}}}{{{#!if p==55
2077}}}{{{#!if p==56
2088}}}{{{#!if p==57
r36
2099}}}{{{#!if o+=1
r19
210}}}}}}{{{#!if (o<l)&&(d==false)
r14
211##10
r9
212{{{#!if p=r[o]
r31
213}}}{{{#!if p==46
r12
214{{{#!if d=true
r16
215}}}}}}{{{#!if p==48
r7
2160}}}{{{#!if p==49
2171}}}{{{#!if p==50
2182}}}{{{#!if p==51
2193}}}{{{#!if p==52
2204}}}{{{#!if p==53
2215}}}{{{#!if p==54
2226}}}{{{#!if p==55
2237}}}{{{#!if p==56
2248}}}{{{#!if p==57
r36
2259}}}{{{#!if o+=1
r19
226}}}}}}{{{#!if (o<l)&&(d==false)
r14
227##11
r9
228{{{#!if p=r[o]
r31
229}}}{{{#!if p==46
r12
230{{{#!if d=true
r16
231}}}}}}{{{#!if p==48
r7
2320}}}{{{#!if p==49
2331}}}{{{#!if p==50
2342}}}{{{#!if p==51
2353}}}{{{#!if p==52
2364}}}{{{#!if p==53
2375}}}{{{#!if p==54
2386}}}{{{#!if p==55
2397}}}{{{#!if p==56
2408}}}{{{#!if p==57
r36
2419}}}{{{#!if o+=1
r19
242}}}}}}{{{#!if (o<l)&&(d==false)
r14
243##12
r9
244{{{#!if p=r[o]
r31
245}}}{{{#!if p==46
r12
246{{{#!if d=true
r16
247}}}}}}{{{#!if p==48
r7
2480}}}{{{#!if p==49
2491}}}{{{#!if p==50
2502}}}{{{#!if p==51
2513}}}{{{#!if p==52
2524}}}{{{#!if p==53
2535}}}{{{#!if p==54
2546}}}{{{#!if p==55
2557}}}{{{#!if p==56
2568}}}{{{#!if p==57
r36
2579}}}{{{#!if o+=1
r19
258}}}}}}{{{#!if (o<l)&&(d==false)
r14
259##13
r9
260{{{#!if p=r[o]
r31
261}}}{{{#!if p==46
r12
262{{{#!if d=true
r16
263}}}}}}{{{#!if p==48
r7
2640}}}{{{#!if p==49
2651}}}{{{#!if p==50
2662}}}{{{#!if p==51
2673}}}{{{#!if p==52
2684}}}{{{#!if p==53
2695}}}{{{#!if p==54
2706}}}{{{#!if p==55
2717}}}{{{#!if p==56
2728}}}{{{#!if p==57
r36
2739}}}{{{#!if o+=1
r19
274}}}}}}{{{#!if (o<l)&&(d==false)
r14
275##14
r9
276{{{#!if p=r[o]
r31
277}}}{{{#!if p==46
r12
278{{{#!if d=true
r16
279}}}}}}{{{#!if p==48
r7
2800}}}{{{#!if p==49
2811}}}{{{#!if p==50
2822}}}{{{#!if p==51
2833}}}{{{#!if p==52
2844}}}{{{#!if p==53
2855}}}{{{#!if p==54
2866}}}{{{#!if p==55
2877}}}{{{#!if p==56
2888}}}{{{#!if p==57
r36
2899}}}{{{#!if o+=1
r19
290}}}}}}{{{#!if (o<l)&&(d==false)
r14
291##15
r9
292{{{#!if p=r[o]
r31
293}}}{{{#!if p==46
r12
294{{{#!if d=true
r16
295}}}}}}{{{#!if p==48
r7
2960}}}{{{#!if p==49
2971}}}{{{#!if p==50
2982}}}{{{#!if p==51
2993}}}{{{#!if p==52
3004}}}{{{#!if p==53
3015}}}{{{#!if p==54
3026}}}{{{#!if p==55
3037}}}{{{#!if p==56
3048}}}{{{#!if p==57
r36
3059}}}{{{#!if o+=1
r19
306}}}}}}{{{#!if (o<l)&&(d==false)
r14
307##16
r9
308{{{#!if p=r[o]
r31
309}}}{{{#!if p==46
r12
310{{{#!if d=true
r16
311}}}}}}{{{#!if p==48
r7
3120}}}{{{#!if p==49
3131}}}{{{#!if p==50
3142}}}{{{#!if p==51
3153}}}{{{#!if p==52
3164}}}{{{#!if p==53
3175}}}{{{#!if p==54
3186}}}{{{#!if p==55
3197}}}{{{#!if p==56
3208}}}{{{#!if p==57
r36
3219}}}{{{#!if o+=1
r19
322}}}}}}{{{#!if (o<l)&&(d==false)
r14
323##17
r9
324{{{#!if p=r[o]
r31
325}}}{{{#!if p==46
r12
326{{{#!if d=true
r16
327}}}}}}{{{#!if p==48
r7
3280}}}{{{#!if p==49
3291}}}{{{#!if p==50
3302}}}{{{#!if p==51
3313}}}{{{#!if p==52
3324}}}{{{#!if p==53
3335}}}{{{#!if p==54
3346}}}{{{#!if p==55
3357}}}{{{#!if p==56
3368}}}{{{#!if p==57
r36
3379}}}{{{#!if o+=1
r19
338}}}}}}{{{#!if (o<l)&&(d==false)
r14
339##18
r9
340{{{#!if p=r[o]
r31
341}}}{{{#!if p==46
r12
342{{{#!if d=true
r16
343}}}}}}{{{#!if p==48
r7
3440}}}{{{#!if p==49
3451}}}{{{#!if p==50
3462}}}{{{#!if p==51
3473}}}{{{#!if p==52
3484}}}{{{#!if p==53
3495}}}{{{#!if p==54
3506}}}{{{#!if p==55
3517}}}{{{#!if p==56
3528}}}{{{#!if p==57
r36
3539}}}{{{#!if o+=1
r19
354}}}}}}{{{#!if (o<l)&&(d==false)
r14
355##19
r9
356{{{#!if p=r[o]
r31
357}}}{{{#!if p==46
r12
358{{{#!if d=true
r16
359}}}}}}{{{#!if p==48
r7
3600}}}{{{#!if p==49
3611}}}{{{#!if p==50
3622}}}{{{#!if p==51
3633}}}{{{#!if p==52
3644}}}{{{#!if p==53
3655}}}{{{#!if p==54
3666}}}{{{#!if p==55
3677}}}{{{#!if p==56
3688}}}{{{#!if p==57
r36
3699}}}{{{#!if o+=1
r19
370}}}}}}{{{#!if (o<l)&&(d==false)
r14
371##20
r9
372{{{#!if p=r[o]
r31
373}}}{{{#!if p==46
r12
374{{{#!if d=true
r16
375}}}}}}{{{#!if p==48
r7
3760}}}{{{#!if p==49
3771}}}{{{#!if p==50
3782}}}{{{#!if p==51
3793}}}{{{#!if p==52
3804}}}{{{#!if p==53
3815}}}{{{#!if p==54
3826}}}{{{#!if p==55
3837}}}{{{#!if p==56
3848}}}{{{#!if p==57
r36
3859}}}{{{#!if o+=1
r16
386}}}}}}{{{#!if o=0, l=u.length
387}}}{{{#!if u[0]==45
388##음수로 마이너스가 표시되면 넘기기
r36
389{{{#!if o+=1
r16
390}}}}}}{{{#!if l-o>2
391##소수점이 나오면 "0."으로 2자리 차지하므로 소수점 표기.
r36
392{{{#!if o+=1
r37
393##일의 자리 넘기기
r28
394}}}{{{#!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)
r37
395##".000000"은 표기하지 않음. 소수점 표기
396.{{{#!if o+=1
397}}}}}}}}}{{{#!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))
r17
398##1
r18
399{{{#!if p=u[o]
r17
400}}}{{{#!if p==48
r21
4010}}}{{{#!if p==49
r17
4021}}}{{{#!if p==50
4032}}}{{{#!if p==51
4043}}}{{{#!if p==52
4054}}}{{{#!if p==53
4065}}}{{{#!if p==54
4076}}}{{{#!if p==55
4087}}}{{{#!if p==56
4098}}}{{{#!if p==57
r36
4109}}}{{{#!if o+=1
r19
411}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48)||(u[o+4]!=48))
r17
412##2
r18
413{{{#!if p=u[o]
r17
414}}}{{{#!if p==48
4150}}}{{{#!if p==49
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
r36
4249}}}{{{#!if o+=1
r19
425}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48))
r17
426##3
r18
427{{{#!if p=u[o]
r17
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
r36
4389}}}{{{#!if o+=1
r19
439}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48))
r17
440##4
r18
441{{{#!if p=u[o]
r17
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
r36
4529}}}{{{#!if o+=1
r19
453}}}}}}{{{#!if (o<l)&&(d==true)&&(u[o+1]!=48)
r17
454##5
r18
455{{{#!if p=u[o]
r17
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
r36
4669}}}{{{#!if o+=1
r19
467}}}}}}{{{#!if (o<l)&&(d==true)
r17
468##6
r18
469{{{#!if p=u[o]
r17
470}}}{{{#!if p==48
r22
471##"0" 미표기
472}}}{{{#!if p==49
r17
4731}}}{{{#!if p==50
4742}}}{{{#!if p==51
4753}}}{{{#!if p==52
4764}}}{{{#!if p==53
4775}}}{{{#!if p==54
4786}}}{{{#!if p==55
4797}}}{{{#!if p==56
4808}}}{{{#!if p==57
r36
4819}}}{{{#!if o+=1
r30
482}}}}}}}}}}}}