r69
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
r67
55{{{#!if f=="*"
r69
5618자리 숫자로 입력할 수 있는 최대 정수는 999,999,999,999,999,999입니다.
57다행히 999,999,999,999,999,999*9=8,999,999,999,999,999,991 < long 한계치 9,223,372,036,854,775,807 이라서 a*각 자릿수로 덧셈해볼 수는 있습니다.
r67
58}}}
59
r65
60error code 03 번 : 오버플로
61error code 04 번 : 언더플로
62error code 05 번 : 0으로 나눌 수 없습니다.
r64
63
r67
64##여기까지 주석(주석 아님)
r54
65}}}{{{#!if as[0]!=45
r53
66@a@}}}{{{#!if as[0]==45
67(@a@)}}}{{{#!if f=='+'
r67
68+}}}{{{#!if f=="-"
69-}}}{{{#!if f=="*"
70*}}}{{{#!if f=="/"
71/}}}{{{#!if bs[0]!=45
r53
72@b@}}}{{{#!if bs[0]==45
r57
73(@b@)}}}}}}
r44
74==# 2-1 #==
75{{{#!wiki style="font-weight: 300; font-size: 20px"
r37
76{{{#!if +a>=0
77@a@}}}{{{#!if +a<0
r36
78(@a@)}}} {{{#!if f == '+'
r40

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

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

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

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

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

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

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

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

(r16으로 되돌림)
94##1
r11
95{{{#!if p=r[o]
r9
96}}}{{{#!if p==45
97-}}}{{{#!if p==46
r14
98{{{#!if d=true
r20
99}}}}}}{{{#!if p==48
r9
1000}}}{{{#!if p==49
1011}}}{{{#!if p==50
1022}}}{{{#!if p==51
1033}}}{{{#!if p==52
1044}}}{{{#!if p==53
1055}}}{{{#!if p==54
1066}}}{{{#!if p==55
1077}}}{{{#!if p==56
1088}}}{{{#!if p==57
r41
1099}}}{{{#!if o+=1
r19
110}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
111##2
r11
112{{{#!if p=r[o]
r35
113}}}{{{#!if p==46
r14
114{{{#!if d=true
r20
115}}}}}}{{{#!if p==48
r9
1160}}}{{{#!if p==49
1171}}}{{{#!if p==50
1182}}}{{{#!if p==51
1193}}}{{{#!if p==52
1204}}}{{{#!if p==53
1215}}}{{{#!if p==54
1226}}}{{{#!if p==55
1237}}}{{{#!if p==56
1248}}}{{{#!if p==57
r41
1259}}}{{{#!if o+=1
r23
126}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
127##3
r11
128{{{#!if p=r[o]
r35
129}}}{{{#!if p==46
r14
130{{{#!if d=true
r20
131}}}}}}{{{#!if p==48
r9
1320}}}{{{#!if p==49
1331}}}{{{#!if p==50
1342}}}{{{#!if p==51
1353}}}{{{#!if p==52
1364}}}{{{#!if p==53
1375}}}{{{#!if p==54
1386}}}{{{#!if p==55
1397}}}{{{#!if p==56
1408}}}{{{#!if p==57
r41
1419}}}{{{#!if o+=1
r23
142}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
143##4
r11
144{{{#!if p=r[o]
r35
145}}}{{{#!if p==46
r14
146{{{#!if d=true
r20
147}}}}}}{{{#!if p==48
r9
1480}}}{{{#!if p==49
1491}}}{{{#!if p==50
1502}}}{{{#!if p==51
1513}}}{{{#!if p==52
1524}}}{{{#!if p==53
1535}}}{{{#!if p==54
1546}}}{{{#!if p==55
1557}}}{{{#!if p==56
1568}}}{{{#!if p==57
r41
1579}}}{{{#!if o+=1
r23
158}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
159##5
r11
160{{{#!if p=r[o]
r35
161}}}{{{#!if p==46
r14
162{{{#!if d=true
r20
163}}}}}}{{{#!if p==48
r9
1640}}}{{{#!if p==49
1651}}}{{{#!if p==50
1662}}}{{{#!if p==51
1673}}}{{{#!if p==52
1684}}}{{{#!if p==53
1695}}}{{{#!if p==54
1706}}}{{{#!if p==55
1717}}}{{{#!if p==56
1728}}}{{{#!if p==57
r41
1739}}}{{{#!if o+=1
r23
174}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
175##6
r11
176{{{#!if p=r[o]
r35
177}}}{{{#!if p==46
r14
178{{{#!if d=true
r20
179}}}}}}{{{#!if p==48
r9
1800}}}{{{#!if p==49
1811}}}{{{#!if p==50
1822}}}{{{#!if p==51
1833}}}{{{#!if p==52
1844}}}{{{#!if p==53
1855}}}{{{#!if p==54
1866}}}{{{#!if p==55
1877}}}{{{#!if p==56
1888}}}{{{#!if p==57
r41
1899}}}{{{#!if o+=1
r23
190}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
191##7
r11
192{{{#!if p=r[o]
r35
193}}}{{{#!if p==46
r14
194{{{#!if d=true
r20
195}}}}}}{{{#!if p==48
r9
1960}}}{{{#!if p==49
1971}}}{{{#!if p==50
1982}}}{{{#!if p==51
1993}}}{{{#!if p==52
2004}}}{{{#!if p==53
2015}}}{{{#!if p==54
2026}}}{{{#!if p==55
2037}}}{{{#!if p==56
2048}}}{{{#!if p==57
r41
2059}}}{{{#!if o+=1
r23
206}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
207##8
r11
208{{{#!if p=r[o]
r35
209}}}{{{#!if p==46
r14
210{{{#!if d=true
r20
211}}}}}}{{{#!if p==48
r9
2120}}}{{{#!if p==49
2131}}}{{{#!if p==50
2142}}}{{{#!if p==51
2153}}}{{{#!if p==52
2164}}}{{{#!if p==53
2175}}}{{{#!if p==54
2186}}}{{{#!if p==55
2197}}}{{{#!if p==56
2208}}}{{{#!if p==57
r41
2219}}}{{{#!if o+=1
r23
222}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
223##9
r11
224{{{#!if p=r[o]
r35
225}}}{{{#!if p==46
r14
226{{{#!if d=true
r20
227}}}}}}{{{#!if p==48
r9
2280}}}{{{#!if p==49
2291}}}{{{#!if p==50
2302}}}{{{#!if p==51
2313}}}{{{#!if p==52
2324}}}{{{#!if p==53
2335}}}{{{#!if p==54
2346}}}{{{#!if p==55
2357}}}{{{#!if p==56
2368}}}{{{#!if p==57
r41
2379}}}{{{#!if o+=1
r23
238}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
239##10
r11
240{{{#!if p=r[o]
r35
241}}}{{{#!if p==46
r14
242{{{#!if d=true
r20
243}}}}}}{{{#!if p==48
r9
2440}}}{{{#!if p==49
2451}}}{{{#!if p==50
2462}}}{{{#!if p==51
2473}}}{{{#!if p==52
2484}}}{{{#!if p==53
2495}}}{{{#!if p==54
2506}}}{{{#!if p==55
2517}}}{{{#!if p==56
2528}}}{{{#!if p==57
r41
2539}}}{{{#!if o+=1
r23
254}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
255##11
r11
256{{{#!if p=r[o]
r35
257}}}{{{#!if p==46
r14
258{{{#!if d=true
r20
259}}}}}}{{{#!if p==48
r9
2600}}}{{{#!if p==49
2611}}}{{{#!if p==50
2622}}}{{{#!if p==51
2633}}}{{{#!if p==52
2644}}}{{{#!if p==53
2655}}}{{{#!if p==54
2666}}}{{{#!if p==55
2677}}}{{{#!if p==56
2688}}}{{{#!if p==57
r41
2699}}}{{{#!if o+=1
r23
270}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
271##12
r11
272{{{#!if p=r[o]
r35
273}}}{{{#!if p==46
r14
274{{{#!if d=true
r20
275}}}}}}{{{#!if p==48
r9
2760}}}{{{#!if p==49
2771}}}{{{#!if p==50
2782}}}{{{#!if p==51
2793}}}{{{#!if p==52
2804}}}{{{#!if p==53
2815}}}{{{#!if p==54
2826}}}{{{#!if p==55
2837}}}{{{#!if p==56
2848}}}{{{#!if p==57
r41
2859}}}{{{#!if o+=1
r23
286}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
287##13
r11
288{{{#!if p=r[o]
r35
289}}}{{{#!if p==46
r14
290{{{#!if d=true
r20
291}}}}}}{{{#!if p==48
r9
2920}}}{{{#!if p==49
2931}}}{{{#!if p==50
2942}}}{{{#!if p==51
2953}}}{{{#!if p==52
2964}}}{{{#!if p==53
2975}}}{{{#!if p==54
2986}}}{{{#!if p==55
2997}}}{{{#!if p==56
3008}}}{{{#!if p==57
r41
3019}}}{{{#!if o+=1
r23
302}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
303##14
r11
304{{{#!if p=r[o]
r35
305}}}{{{#!if p==46
r14
306{{{#!if d=true
r20
307}}}}}}{{{#!if p==48
r9
3080}}}{{{#!if p==49
3091}}}{{{#!if p==50
3102}}}{{{#!if p==51
3113}}}{{{#!if p==52
3124}}}{{{#!if p==53
3135}}}{{{#!if p==54
3146}}}{{{#!if p==55
3157}}}{{{#!if p==56
3168}}}{{{#!if p==57
r41
3179}}}{{{#!if o+=1
r23
318}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
319##15
r11
320{{{#!if p=r[o]
r35
321}}}{{{#!if p==46
r14
322{{{#!if d=true
r20
323}}}}}}{{{#!if p==48
r9
3240}}}{{{#!if p==49
3251}}}{{{#!if p==50
3262}}}{{{#!if p==51
3273}}}{{{#!if p==52
3284}}}{{{#!if p==53
3295}}}{{{#!if p==54
3306}}}{{{#!if p==55
3317}}}{{{#!if p==56
3328}}}{{{#!if p==57
r41
3339}}}{{{#!if o+=1
r23
334}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
335##16
r11
336{{{#!if p=r[o]
r35
337}}}{{{#!if p==46
r14
338{{{#!if d=true
r20
339}}}}}}{{{#!if p==48
r9
3400}}}{{{#!if p==49
3411}}}{{{#!if p==50
3422}}}{{{#!if p==51
3433}}}{{{#!if p==52
3444}}}{{{#!if p==53
3455}}}{{{#!if p==54
3466}}}{{{#!if p==55
3477}}}{{{#!if p==56
3488}}}{{{#!if p==57
r41
3499}}}{{{#!if o+=1
r23
350}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
351##17
r11
352{{{#!if p=r[o]
r35
353}}}{{{#!if p==46
r14
354{{{#!if d=true
r20
355}}}}}}{{{#!if p==48
r9
3560}}}{{{#!if p==49
3571}}}{{{#!if p==50
3582}}}{{{#!if p==51
3593}}}{{{#!if p==52
3604}}}{{{#!if p==53
3615}}}{{{#!if p==54
3626}}}{{{#!if p==55
3637}}}{{{#!if p==56
3648}}}{{{#!if p==57
r41
3659}}}{{{#!if o+=1
r23
366}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
367##18
r11
368{{{#!if p=r[o]
r35
369}}}{{{#!if p==46
r14
370{{{#!if d=true
r20
371}}}}}}{{{#!if p==48
r9
3720}}}{{{#!if p==49
3731}}}{{{#!if p==50
3742}}}{{{#!if p==51
3753}}}{{{#!if p==52
3764}}}{{{#!if p==53
3775}}}{{{#!if p==54
3786}}}{{{#!if p==55
3797}}}{{{#!if p==56
3808}}}{{{#!if p==57
r41
3819}}}{{{#!if o+=1
r23
382}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
383##19
r11
384{{{#!if p=r[o]
r35
385}}}{{{#!if p==46
r14
386{{{#!if d=true
r20
387}}}}}}{{{#!if p==48
r9
3880}}}{{{#!if p==49
3891}}}{{{#!if p==50
3902}}}{{{#!if p==51
3913}}}{{{#!if p==52
3924}}}{{{#!if p==53
3935}}}{{{#!if p==54
3946}}}{{{#!if p==55
3957}}}{{{#!if p==56
3968}}}{{{#!if p==57
r41
3979}}}{{{#!if o+=1
r23
398}}}}}}{{{#!if (o<l)&&(d==false)
r18

(r16으로 되돌림)
399##20
r11
400{{{#!if p=r[o]
r35
401}}}{{{#!if p==46
r14
402{{{#!if d=true
r20
403}}}}}}{{{#!if p==48
r9
4040}}}{{{#!if p==49
4051}}}{{{#!if p==50
4062}}}{{{#!if p==51
4073}}}{{{#!if p==52
4084}}}{{{#!if p==53
4095}}}{{{#!if p==54
4106}}}{{{#!if p==55
4117}}}{{{#!if p==56
4128}}}{{{#!if p==57
r41
4139}}}{{{#!if o+=1
r20
414}}}}}}{{{#!if o=0, l=u.length
415}}}{{{#!if u[0]==45
416##음수로 마이너스가 표시되면 넘기기
r41
417{{{#!if o+=1
r20
418}}}}}}{{{#!if l-o>2
419##소수점이 나오면 "0."으로 2자리 차지하므로 소수점 표기.
r41
420{{{#!if o+=1
r42
421##일의 자리 넘기기
r32
422}}}{{{#!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
423##".000000"은 표기하지 않음. 소수점 표기
424.{{{#!if o+=1
425}}}}}}}}}{{{#!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
426##1
r22
427{{{#!if p=u[o]
r21
428}}}{{{#!if p==48
r25
4290}}}{{{#!if p==49
r21
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)||(u[o+4]!=48))
r21
440##2
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)||(u[o+3]!=48))
r21
454##3
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)||(u[o+2]!=48))
r21
468##4
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)&&(u[o+1]!=48)
r21
482##5
r22
483{{{#!if p=u[o]
r21
484}}}{{{#!if p==48
4850}}}{{{#!if p==49
4861}}}{{{#!if p==50
4872}}}{{{#!if p==51
4883}}}{{{#!if p==52
4894}}}{{{#!if p==53
4905}}}{{{#!if p==54
4916}}}{{{#!if p==55
4927}}}{{{#!if p==56
4938}}}{{{#!if p==57
r41
4949}}}{{{#!if o+=1
r23
495}}}}}}{{{#!if (o<l)&&(d==true)
r21
496##6
r22
497{{{#!if p=u[o]
r21
498}}}{{{#!if p==48
r26
499##"0" 미표기
500}}}{{{#!if p==49
r21
5011}}}{{{#!if p==50
5022}}}{{{#!if p==51
5033}}}{{{#!if p==52
5044}}}{{{#!if p==53
5055}}}{{{#!if p==54
5066}}}{{{#!if p==55
5077}}}{{{#!if p==56
5088}}}{{{#!if p==57
r41
5099}}}{{{#!if o+=1
r34
510}}}}}}}}}}}}