본문으로 건너뛰기

계산기2(r54판 Blame)

r54
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
32유효성 검사. long(integer)가 unsigned였으면 19자리였는데, unsigned가 아니므로 922경까지 가능한 공간에서 18자리로 잘라내기.
33
r50
34##여기까지 주석
r49
35}}}{{{#!if as[0]!=45
r48
36@a@}}}{{{#!if as[0]==45
37(@a@)}}}{{{#!if f=='+'
38}}}{{{#!if bs[0]!=45
39@b@}}}{{{#!if bs[0]==45
r52
40(@b@)}}}}}}
r39
41==# 2-1 #==
42{{{#!wiki style="font-weight: 300; font-size: 20px"
r33
43{{{#!if +a>=0
44@a@}}}{{{#!if +a<0
r32
45(@a@)}}} {{{#!if f == '+'
r13
46{{{#!if r =(+a)+(+b)+0.0, u=(+a)+(+b)
r1
47}}}+}}}{{{#!if f == '-'
r13
48{{{#!if r =(+a)-(+b)+0.0, u=(+a)-(+b)
r1
49}}}-}}}{{{#!if f == '*'
r13
50{{{#!if r =((+a)+0.0)*((+b)+0.0), u=(+a)*(+b)
r1
51}}}×}}}{{{#!if f == '/'
r13
52{{{#!if r =((+a)+0.0)/((+b)+0.0), u=(+a)/(+b)
r33
53}}}÷}}} {{{#!if +b>=0
54@b@}}}{{{#!if +b<0
r32
55(@b@)}}} = {{{#!if u=r-u, d=false
r14
56##u : 나누어떨어지는 부분 절삭하기. d : dot 매김 여부
r16
57}}}{{{#!if r=r.toString(), u=u.toString()
r8
58}}}{{{#!if o=0, l=r.length
r9
59}}}{{{#!if (r!=null)&&(r!="")
60{{{#!if +o<l
r14
61##1
r9
62{{{#!if p=r[o]
r7
63}}}{{{#!if p==45
64-}}}{{{#!if p==46
r12
65{{{#!if d=true
r16
66}}}}}}{{{#!if p==48
r7
670}}}{{{#!if p==49
681}}}{{{#!if p==50
692}}}{{{#!if p==51
703}}}{{{#!if p==52
714}}}{{{#!if p==53
725}}}{{{#!if p==54
736}}}{{{#!if p==55
747}}}{{{#!if p==56
758}}}{{{#!if p==57
r36
769}}}{{{#!if o+=1
r15
77}}}}}}{{{#!if (o<l)&&(d==false)
r14
78##2
r9
79{{{#!if p=r[o]
r31
80}}}{{{#!if p==46
r12
81{{{#!if d=true
r16
82}}}}}}{{{#!if p==48
r7
830}}}{{{#!if p==49
841}}}{{{#!if p==50
852}}}{{{#!if p==51
863}}}{{{#!if p==52
874}}}{{{#!if p==53
885}}}{{{#!if p==54
896}}}{{{#!if p==55
907}}}{{{#!if p==56
918}}}{{{#!if p==57
r36
929}}}{{{#!if o+=1
r19
93}}}}}}{{{#!if (o<l)&&(d==false)
r14
94##3
r9
95{{{#!if p=r[o]
r31
96}}}{{{#!if p==46
r12
97{{{#!if d=true
r16
98}}}}}}{{{#!if p==48
r7
990}}}{{{#!if p==49
1001}}}{{{#!if p==50
1012}}}{{{#!if p==51
1023}}}{{{#!if p==52
1034}}}{{{#!if p==53
1045}}}{{{#!if p==54
1056}}}{{{#!if p==55
1067}}}{{{#!if p==56
1078}}}{{{#!if p==57
r36
1089}}}{{{#!if o+=1
r19
109}}}}}}{{{#!if (o<l)&&(d==false)
r14
110##4
r9
111{{{#!if p=r[o]
r31
112}}}{{{#!if p==46
r12
113{{{#!if d=true
r16
114}}}}}}{{{#!if p==48
r7
1150}}}{{{#!if p==49
1161}}}{{{#!if p==50
1172}}}{{{#!if p==51
1183}}}{{{#!if p==52
1194}}}{{{#!if p==53
1205}}}{{{#!if p==54
1216}}}{{{#!if p==55
1227}}}{{{#!if p==56
1238}}}{{{#!if p==57
r36
1249}}}{{{#!if o+=1
r19
125}}}}}}{{{#!if (o<l)&&(d==false)
r14
126##5
r9
127{{{#!if p=r[o]
r31
128}}}{{{#!if p==46
r12
129{{{#!if d=true
r16
130}}}}}}{{{#!if p==48
r7
1310}}}{{{#!if p==49
1321}}}{{{#!if p==50
1332}}}{{{#!if p==51
1343}}}{{{#!if p==52
1354}}}{{{#!if p==53
1365}}}{{{#!if p==54
1376}}}{{{#!if p==55
1387}}}{{{#!if p==56
1398}}}{{{#!if p==57
r36
1409}}}{{{#!if o+=1
r19
141}}}}}}{{{#!if (o<l)&&(d==false)
r14
142##6
r9
143{{{#!if p=r[o]
r31
144}}}{{{#!if p==46
r12
145{{{#!if d=true
r16
146}}}}}}{{{#!if p==48
r7
1470}}}{{{#!if p==49
1481}}}{{{#!if p==50
1492}}}{{{#!if p==51
1503}}}{{{#!if p==52
1514}}}{{{#!if p==53
1525}}}{{{#!if p==54
1536}}}{{{#!if p==55
1547}}}{{{#!if p==56
1558}}}{{{#!if p==57
r36
1569}}}{{{#!if o+=1
r19
157}}}}}}{{{#!if (o<l)&&(d==false)
r14
158##7
r9
159{{{#!if p=r[o]
r31
160}}}{{{#!if p==46
r12
161{{{#!if d=true
r16
162}}}}}}{{{#!if p==48
r7
1630}}}{{{#!if p==49
1641}}}{{{#!if p==50
1652}}}{{{#!if p==51
1663}}}{{{#!if p==52
1674}}}{{{#!if p==53
1685}}}{{{#!if p==54
1696}}}{{{#!if p==55
1707}}}{{{#!if p==56
1718}}}{{{#!if p==57
r36
1729}}}{{{#!if o+=1
r19
173}}}}}}{{{#!if (o<l)&&(d==false)
r14
174##8
r9
175{{{#!if p=r[o]
r31
176}}}{{{#!if p==46
r12
177{{{#!if d=true
r16
178}}}}}}{{{#!if p==48
r7
1790}}}{{{#!if p==49
1801}}}{{{#!if p==50
1812}}}{{{#!if p==51
1823}}}{{{#!if p==52
1834}}}{{{#!if p==53
1845}}}{{{#!if p==54
1856}}}{{{#!if p==55
1867}}}{{{#!if p==56
1878}}}{{{#!if p==57
r36
1889}}}{{{#!if o+=1
r19
189}}}}}}{{{#!if (o<l)&&(d==false)
r14
190##9
r9
191{{{#!if p=r[o]
r31
192}}}{{{#!if p==46
r12
193{{{#!if d=true
r16
194}}}}}}{{{#!if p==48
r7
1950}}}{{{#!if p==49
1961}}}{{{#!if p==50
1972}}}{{{#!if p==51
1983}}}{{{#!if p==52
1994}}}{{{#!if p==53
2005}}}{{{#!if p==54
2016}}}{{{#!if p==55
2027}}}{{{#!if p==56
2038}}}{{{#!if p==57
r36
2049}}}{{{#!if o+=1
r19
205}}}}}}{{{#!if (o<l)&&(d==false)
r14
206##10
r9
207{{{#!if p=r[o]
r31
208}}}{{{#!if p==46
r12
209{{{#!if d=true
r16
210}}}}}}{{{#!if p==48
r7
2110}}}{{{#!if p==49
2121}}}{{{#!if p==50
2132}}}{{{#!if p==51
2143}}}{{{#!if p==52
2154}}}{{{#!if p==53
2165}}}{{{#!if p==54
2176}}}{{{#!if p==55
2187}}}{{{#!if p==56
2198}}}{{{#!if p==57
r36
2209}}}{{{#!if o+=1
r19
221}}}}}}{{{#!if (o<l)&&(d==false)
r14
222##11
r9
223{{{#!if p=r[o]
r31
224}}}{{{#!if p==46
r12
225{{{#!if d=true
r16
226}}}}}}{{{#!if p==48
r7
2270}}}{{{#!if p==49
2281}}}{{{#!if p==50
2292}}}{{{#!if p==51
2303}}}{{{#!if p==52
2314}}}{{{#!if p==53
2325}}}{{{#!if p==54
2336}}}{{{#!if p==55
2347}}}{{{#!if p==56
2358}}}{{{#!if p==57
r36
2369}}}{{{#!if o+=1
r19
237}}}}}}{{{#!if (o<l)&&(d==false)
r14
238##12
r9
239{{{#!if p=r[o]
r31
240}}}{{{#!if p==46
r12
241{{{#!if d=true
r16
242}}}}}}{{{#!if p==48
r7
2430}}}{{{#!if p==49
2441}}}{{{#!if p==50
2452}}}{{{#!if p==51
2463}}}{{{#!if p==52
2474}}}{{{#!if p==53
2485}}}{{{#!if p==54
2496}}}{{{#!if p==55
2507}}}{{{#!if p==56
2518}}}{{{#!if p==57
r36
2529}}}{{{#!if o+=1
r19
253}}}}}}{{{#!if (o<l)&&(d==false)
r14
254##13
r9
255{{{#!if p=r[o]
r31
256}}}{{{#!if p==46
r12
257{{{#!if d=true
r16
258}}}}}}{{{#!if p==48
r7
2590}}}{{{#!if p==49
2601}}}{{{#!if p==50
2612}}}{{{#!if p==51
2623}}}{{{#!if p==52
2634}}}{{{#!if p==53
2645}}}{{{#!if p==54
2656}}}{{{#!if p==55
2667}}}{{{#!if p==56
2678}}}{{{#!if p==57
r36
2689}}}{{{#!if o+=1
r19
269}}}}}}{{{#!if (o<l)&&(d==false)
r14
270##14
r9
271{{{#!if p=r[o]
r31
272}}}{{{#!if p==46
r12
273{{{#!if d=true
r16
274}}}}}}{{{#!if p==48
r7
2750}}}{{{#!if p==49
2761}}}{{{#!if p==50
2772}}}{{{#!if p==51
2783}}}{{{#!if p==52
2794}}}{{{#!if p==53
2805}}}{{{#!if p==54
2816}}}{{{#!if p==55
2827}}}{{{#!if p==56
2838}}}{{{#!if p==57
r36
2849}}}{{{#!if o+=1
r19
285}}}}}}{{{#!if (o<l)&&(d==false)
r14
286##15
r9
287{{{#!if p=r[o]
r31
288}}}{{{#!if p==46
r12
289{{{#!if d=true
r16
290}}}}}}{{{#!if p==48
r7
2910}}}{{{#!if p==49
2921}}}{{{#!if p==50
2932}}}{{{#!if p==51
2943}}}{{{#!if p==52
2954}}}{{{#!if p==53
2965}}}{{{#!if p==54
2976}}}{{{#!if p==55
2987}}}{{{#!if p==56
2998}}}{{{#!if p==57
r36
3009}}}{{{#!if o+=1
r19
301}}}}}}{{{#!if (o<l)&&(d==false)
r14
302##16
r9
303{{{#!if p=r[o]
r31
304}}}{{{#!if p==46
r12
305{{{#!if d=true
r16
306}}}}}}{{{#!if p==48
r7
3070}}}{{{#!if p==49
3081}}}{{{#!if p==50
3092}}}{{{#!if p==51
3103}}}{{{#!if p==52
3114}}}{{{#!if p==53
3125}}}{{{#!if p==54
3136}}}{{{#!if p==55
3147}}}{{{#!if p==56
3158}}}{{{#!if p==57
r36
3169}}}{{{#!if o+=1
r19
317}}}}}}{{{#!if (o<l)&&(d==false)
r14
318##17
r9
319{{{#!if p=r[o]
r31
320}}}{{{#!if p==46
r12
321{{{#!if d=true
r16
322}}}}}}{{{#!if p==48
r7
3230}}}{{{#!if p==49
3241}}}{{{#!if p==50
3252}}}{{{#!if p==51
3263}}}{{{#!if p==52
3274}}}{{{#!if p==53
3285}}}{{{#!if p==54
3296}}}{{{#!if p==55
3307}}}{{{#!if p==56
3318}}}{{{#!if p==57
r36
3329}}}{{{#!if o+=1
r19
333}}}}}}{{{#!if (o<l)&&(d==false)
r14
334##18
r9
335{{{#!if p=r[o]
r31
336}}}{{{#!if p==46
r12
337{{{#!if d=true
r16
338}}}}}}{{{#!if p==48
r7
3390}}}{{{#!if p==49
3401}}}{{{#!if p==50
3412}}}{{{#!if p==51
3423}}}{{{#!if p==52
3434}}}{{{#!if p==53
3445}}}{{{#!if p==54
3456}}}{{{#!if p==55
3467}}}{{{#!if p==56
3478}}}{{{#!if p==57
r36
3489}}}{{{#!if o+=1
r19
349}}}}}}{{{#!if (o<l)&&(d==false)
r14
350##19
r9
351{{{#!if p=r[o]
r31
352}}}{{{#!if p==46
r12
353{{{#!if d=true
r16
354}}}}}}{{{#!if p==48
r7
3550}}}{{{#!if p==49
3561}}}{{{#!if p==50
3572}}}{{{#!if p==51
3583}}}{{{#!if p==52
3594}}}{{{#!if p==53
3605}}}{{{#!if p==54
3616}}}{{{#!if p==55
3627}}}{{{#!if p==56
3638}}}{{{#!if p==57
r36
3649}}}{{{#!if o+=1
r19
365}}}}}}{{{#!if (o<l)&&(d==false)
r14
366##20
r9
367{{{#!if p=r[o]
r31
368}}}{{{#!if p==46
r12
369{{{#!if d=true
r16
370}}}}}}{{{#!if p==48
r7
3710}}}{{{#!if p==49
3721}}}{{{#!if p==50
3732}}}{{{#!if p==51
3743}}}{{{#!if p==52
3754}}}{{{#!if p==53
3765}}}{{{#!if p==54
3776}}}{{{#!if p==55
3787}}}{{{#!if p==56
3798}}}{{{#!if p==57
r36
3809}}}{{{#!if o+=1
r16
381}}}}}}{{{#!if o=0, l=u.length
382}}}{{{#!if u[0]==45
383##음수로 마이너스가 표시되면 넘기기
r36
384{{{#!if o+=1
r16
385}}}}}}{{{#!if l-o>2
386##소수점이 나오면 "0."으로 2자리 차지하므로 소수점 표기.
r36
387{{{#!if o+=1
r37
388##일의 자리 넘기기
r28
389}}}{{{#!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
390##".000000"은 표기하지 않음. 소수점 표기
391.{{{#!if o+=1
392}}}}}}}}}{{{#!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
393##1
r18
394{{{#!if p=u[o]
r17
395}}}{{{#!if p==48
r21
3960}}}{{{#!if p==49
r17
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
r36
4059}}}{{{#!if o+=1
r19
406}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48)||(u[o+4]!=48))
r17
407##2
r18
408{{{#!if p=u[o]
r17
409}}}{{{#!if p==48
4100}}}{{{#!if p==49
4111}}}{{{#!if p==50
4122}}}{{{#!if p==51
4133}}}{{{#!if p==52
4144}}}{{{#!if p==53
4155}}}{{{#!if p==54
4166}}}{{{#!if p==55
4177}}}{{{#!if p==56
4188}}}{{{#!if p==57
r36
4199}}}{{{#!if o+=1
r19
420}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48)||(u[o+3]!=48))
r17
421##3
r18
422{{{#!if p=u[o]
r17
423}}}{{{#!if p==48
4240}}}{{{#!if p==49
4251}}}{{{#!if p==50
4262}}}{{{#!if p==51
4273}}}{{{#!if p==52
4284}}}{{{#!if p==53
4295}}}{{{#!if p==54
4306}}}{{{#!if p==55
4317}}}{{{#!if p==56
4328}}}{{{#!if p==57
r36
4339}}}{{{#!if o+=1
r19
434}}}}}}{{{#!if (o<l)&&(d==true)&&((u[o+1]!=48)||(u[o+2]!=48))
r17
435##4
r18
436{{{#!if p=u[o]
r17
437}}}{{{#!if p==48
4380}}}{{{#!if p==49
4391}}}{{{#!if p==50
4402}}}{{{#!if p==51
4413}}}{{{#!if p==52
4424}}}{{{#!if p==53
4435}}}{{{#!if p==54
4446}}}{{{#!if p==55
4457}}}{{{#!if p==56
4468}}}{{{#!if p==57
r36
4479}}}{{{#!if o+=1
r19
448}}}}}}{{{#!if (o<l)&&(d==true)&&(u[o+1]!=48)
r17
449##5
r18
450{{{#!if p=u[o]
r17
451}}}{{{#!if p==48
4520}}}{{{#!if p==49
4531}}}{{{#!if p==50
4542}}}{{{#!if p==51
4553}}}{{{#!if p==52
4564}}}{{{#!if p==53
4575}}}{{{#!if p==54
4586}}}{{{#!if p==55
4597}}}{{{#!if p==56
4608}}}{{{#!if p==57
r36
4619}}}{{{#!if o+=1
r19
462}}}}}}{{{#!if (o<l)&&(d==true)
r17
463##6
r18
464{{{#!if p=u[o]
r17
465}}}{{{#!if p==48
r22
466##"0" 미표기
467}}}{{{#!if p==49
r17
4681}}}{{{#!if p==50
4692}}}{{{#!if p==51
4703}}}{{{#!if p==52
4714}}}{{{#!if p==53
4725}}}{{{#!if p==54
4736}}}{{{#!if p==55
4747}}}{{{#!if p==56
4758}}}{{{#!if p==57
r36
4769}}}{{{#!if o+=1
r30
477}}}}}}}}}}}}