웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
정확한 계산기 소스입니다.
2014.01.15 19:54
<HTML>
<HEAD>
<TITLE> </TITLE>
<style type="text/css">
<!--
body {font-family: helvetica}
p {font-size: 12pt}
.red {color: red}
.blue {color: blue}
-->
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
var Memory = 0;
var Number1 = "";
var Number2 = "";
var NewNumber = "blank";
var opvalue = "";
function Display(displaynumber) {
document.calculator.answer.value = displaynumber;
}
function MemoryClear() {
Memory = 0;
document.calculator.mem.value = "";
}
function MemoryRecall(answer) {
if(NewNumber != "blank") {
Number2 += answer;
} else {
Number1 = answer;
}
NewNumber = "blank";
Display(answer);
}
function MemorySubtract(answer) {
Memory = Memory - eval(answer);
}
function MemoryAdd(answer) {
Memory = Memory + eval(answer);
document.calculator.mem.value = " M ";
NewNumber = "blank";
}
function ClearCalc() {
Number1 = "";
Number2 = "";
NewNumber = "blank";
Display("");
}
function Backspace(answer) {
answerlength = answer.length;
answer = answer.substring(0, answerlength - 1);
if (Number2 != "") {
Number2 = answer.toString();
Display(Number2);
} else {
Number1 = answer.toString();
Display(Number1);
}
}
function CECalc() {
Number2 = "";
NewNumber = "yes";
Display("");
}
function CheckNumber(answer) {
if(answer == "."){
Number = document.calculator.answer.value;
if(Number.indexOf(".") != -1) {
answer = "";
}
}
if(NewNumber == "yes") {
Number2 += answer;
Display(Number2);
}
else {
if(NewNumber == "blank") {
Number1 = answer;
Number2 = "";
NewNumber ="no";
}
else {
Number1 += answer;
}
Display(Number1);
}
}
function AddButton(x) {
if(x == 1) EqualButton();
if(Number2 != "") {
Number1 = parseFloat(Number1) + parseFloat(Number2);
}
NewNumber = "yes";
opvalue = '+';
Display(Number1);
}
function SubButton(x) {
if(x == 1) EqualButton();
if(Number2 != "") {
Number1 = parseFloat(Number1) - parseFloat(Number2);
}
NewNumber = "yes";
opvalue = '-';
Display(Number1);
}
function MultButton(x) {
if(x == 1) EqualButton();
if(Number2 != "") {
Number1 = parseFloat(Number1) * parseFloat(Number2);
}
NewNumber = "yes";
opvalue = '*';
Display(Number1);
}
function DivButton(x) {
if(x == 1) EqualButton();
if(Number2 != "") {
Number1 = parseFloat(Number1) / parseFloat(Number2);
}
NewNumber = "yes";
opvalue = '/';
Display(Number1);
}
function SqrtButton() {
Number1 = Math.sqrt(Number1);
NewNumber = "blank";
Display(Number1);
}
function PercentButton() {
if(NewNumber != "blank") {
Number2 *= .01;
NewNumber = "blank";
Display(Number2);
}
}
function RecipButton() {
Number1 = 1/Number1;
NewNumber = "blank";
Display(Number1);
}
function NegateButton() {
Number1 = parseFloat(-Number1);
NewNumber = "no";
Display(Number1);
}
function EqualButton() {
if(opvalue == "+") AddButton(0);
if(opvalue == "-") SubButton(0);
if(opvalue == "*") MultButton(0);
if(opvalue == "/") DivButton(0);
Number2 = "";
opvalue = "";
}
// -->
</script>
</HEAD>
<BODY>
<center>
<form name="calculator">
<table bgcolor="#aaaaaa" width=220>
<tr><td>
<table bgcolor="#cccccc" border=1>
<tr><td>
<table border=0 cellpadding=0>
<tr><td bgcolor="#000080" align=center><b style="color:white">계산기</b></td></tr>
<tr><td>
<table width="100%" border=0>
<tr><td colspan=6><input type="text" name="answer" size=33 maxlength=30 onChange="CheckNumber(this.value)"></td></tr>
<tr><td colspan=6>
<table border=0 cellpadding=0>
<tr><td align=right>
<input type="text" name="mem" size=3 maxlength=3>
<input type="button" name="backspace" class="red" value=" ← " onClick="Backspace(document.calculator.answer.value); return false;">
<input type="button" name="CE" class="red" value=" CE " onClick="CECalc(); return false;">
<input type="reset" name="C" class="red" value=" C " onClick="ClearCalc(); return false;">
</td></tr>
</table>
</td></tr>
<tr><td><input type="button" name="MC" class="red" value=" MC " onClick="MemoryClear(); return false;"></td>
<td><input type="button" name="calc7" class="blue" value=" 7 " onClick="CheckNumber('7'); return false;"></td>
<td><input type="button" name="calc8" class="blue" value=" 8 " onClick="CheckNumber('8'); return false;"></td>
<td><input type="button" name="calc9" class="blue" value=" 9 " onClick="CheckNumber('9'); return false;"></td>
<td><input type="button" name="divide" class="red" value=" / " onClick="DivButton(1); return false;"></td>
<td><input type="button" name="sqrt" class="blue" value="sqrt " onClick="SqrtButton(); return false;"></td> </tr>
<tr><td><input type="button" name="MR" class="red" value=" MR " onClick="MemoryRecall(Memory); return false;"></td>
<td><input type="button" name="calc4" class="blue" value=" 4 " onClick="CheckNumber('4'); return false;"></td>
<td><input type="button" name="calc5" class="blue" value=" 5 " onClick="CheckNumber('5'); return false;"></td>
<td><input type="button" name="calc6" class="blue" value=" 6 " onClick="CheckNumber('6'); return false;"></td>
<td><input type="button" name="multiply" class="red" value=" * " onClick="MultButton(1); return false;"></td>
<td><input type="button" name="percent" class="blue" value=" % " onClick="PercentButton(); return false;"></td> </tr>
<tr><td><input type="button" name="MS" class="red" value=" MS " onClick="MemorySubtract(document.calculator.answer.value); return false;"></td>
<td><input type="button" name="calc1" class="blue" value=" 1 " onClick="CheckNumber('1'); return false;"></td>
<td><input type="button" name="calc2" class="blue" value=" 2 " onClick="CheckNumber('2'); return false;"></td>
<td><input type="button" name="calc3" class="blue" value=" 3 " onClick="CheckNumber('3'); return false;"></td>
<td><input type="button" name="minus" class="red" value=" - " onClick="SubButton(1); return false;"></td>
<td><input type="button" name="recip" class="blue" value=" 1/x " onClick="RecipButton(); return false;"></td> </tr>
<tr><td><input type="button" name="MPlus" class="red" value=" M+ " onClick="MemoryAdd(document.calculator.answer.value); return false;"></td>
<td><input type="button" name="calc0" class="blue" value=" 0 " onClick="CheckNumber('0'); return false;"></td>
<td><input type="button" name="negate" class="blue" value=" +/- " onClick="NegateButton(); return false;"></td>
<td><input type="button" name="dot" class="blue" value=" . " onClick="CheckNumber('.'); return false;"></td>
<td><input type="button" name="plus" class="red" value=" + " onClick="AddButton(1); return false;"></td>
<td><input type="button" name="equal" class="red" value=" = " onClick="EqualButton(); return false;"></td> </tr>
</tr>
</table>
</td></tr>
</table>
</td></tr>
</table>
</td></tr>
</table>
</form>
</center>
</BODY>
</HTML>
모형
댓글 2
-
류중근
2016.03.20 15:17
-
Frenda
2016.05.07 20:25
지나가다가 답변남깁니다.
MC / MR / MS 의 의미는 다음과 같습니다.
MC - 메모리 클리어 (메모리된값 지움)
MR - 메모리 리드 (메모리된값 읽음)
MS - 메모리 세이브 (현재 계산결과 혹은 값을 메모리에 저장)
MS는 M-와는 의미가 다릅니다.
더불어 기존 사용하는 PC에도 마이크로 소프트에서 만들어낸 훌륭한 계산기가 있습니다...
윈도우키 + R을 누르신뒤 (실행의 단축키 입니다.) CALC 를 입력후 엔터 누르시면
윈도우를 사용하는 그 어떤 PC에서라도 계산기가 튀어나옵니다. (XP,7,8,8.1,10 은 물론 윈도우 98, 95에도 있습니다.)
제목 | 글쓴이 | 날짜 |
---|---|---|
짧은주소 사용시 긴주소 검색엔진 차단시키기 [10] | Volun | 2014.01.14 |
업로드 용량을 .htaccess 파일로 제어하기 [9] | 야옹이님 | 2014.01.15 |
정확한 계산기 소스입니다. [2] | 현탁 | 2014.01.15 |
XE 전체 타이틀(title) 수정하기 [3] | pezex | 2014.01.16 |
[10원팁] 스케치북 추천/비추천/신고를 눈에 들어오게 | socialskyo | 2014.01.17 |
관리자가 무제한 추천 가능하게 하는 방법 [2] | sejin7940 | 2014.01.17 |
룰셋 적용 팁 [1] | 루비스코 | 2014.01.20 |
게시판 설정의 게시판 정보 탭에서, 고급 항목이 항상 노출되도록 하는 방법 [3] | sejin7940 | 2014.01.20 |
메뉴추가가 안돼요. [2] | 궁굼자 | 2014.01.20 |
게시판 최초 정렬을 사용자정의(확장변수) 기준으로 설정 가능하게 하는 방법 [8] | sejin7940 | 2014.01.20 |
[jQuery] PNG투명 이미지 animate시 IE7,8 투명이미지 표현 문제. | 투니페이퍼 | 2014.01.21 |
썸네일 특정 파일로 불러오기 [18] | Lansi | 2014.01.21 |
Captcha 애드온 준회원만 적용하기 [2] | 라싸 | 2014.01.22 |
1.7.3.8 설치 후 위에 어드민바가 안 보이는 증상을 해결하는 방법. [2] | 야옹이님 | 2014.01.22 |
input 체크박스, 라디오버튼 테두리 제거 | 헤이즈디자인 | 2014.01.22 |
faq 묘듈 사용시 레이아웃을 깨는 css [3] | 착한악마 | 2014.01.23 |
xe_2009 게시판 스킨 사용시 브라우저 타이틀 지우기 | 착한악마 | 2014.01.23 |
부트스트랩 기초 지식 강의 | 돼지코구뇽 | 2014.01.24 |
사이트맵에서 메뉴 생성할때 메뉴 추가 항목에 해당 모듈이 바로 연결되도록 [2] | sejin7940 | 2014.01.25 |
일반회원도 embed 태그 사용하는 방법! (다음/티스토리/구글드라이브 등) 가장 최근코어버전 해결완료!! [9] | 주택바가지 | 2014.01.27 |
제가 수도 없이 많은 날을 학교라는 대단한 시설을 오갔는데도 어찌 된 영문인지 글쎄 아직 아주 간단한 계산기 하나도 못 다룬답니다.
참으로 개탄할 노릇이지요. 그런 이유에서도 그렇겠지만, 컴퓨터에서도 가끔 일상에 필요한 계산기를 굴려야 할 필요가 있어 기회가 닿으면 인터넷에서 계산기 소스를 구해와서 제 컴퓨터에 달아두곤 했거든요.
오늘은 그렇게 얻은 계산기 중 하나를 꺼내놓고서 그 속을 들여다보는데 도무지 계산기 전면에 나온 영문의 버튼들이 무슨 뜻인지 알 수가 없는 겁니다.
설혹 안다고 해도 그 계산 식이나 버튼 입력 방식을 몰라 거기 나온 결과가 정답인지 확신할 수도 없는 판국인데 최소한 거기 나온 버튼 몇 개 정도는 확인할 필요가 있었습니다.
가령 이 글에 첨부한 그림에도 나올 'MC', 'MR, 'MS', 'M-', 'M+' 등등의 버튼을 말이어요.
그래서 마땅히 찾을 곳도 없고 하여 네이버에서 검색해서 확인했는데 그 대충을 겨우 이해했지요.
그런데 문제는 여기 소스대로 만든 계산기 안의 'MS' 버튼이 네이버에서 확인한 사정과는 약간 다른 결과를 내보냈거든요.
아무리 봐도 그건 '메모리 Minus'에 의미를 지닌 'M-'로 고치는 것이 바를 것 같기에 그렇게 바꿔봅니다.
이렇게도 고마운 소스를 얻었기에 사실 무척 기뻤습니다.
그 고마움이 이런 약간의 차이 탓에 줄어든 건 아니지만, 그보다 먼저 'MS' 버튼에 다른 뜻이 들었을 수도 있는데 제가 혹시 아무것도 모른 체 이렇게 무작정 설레발 떠는 건 아닌지 불안합니다.
그 진위도 확인되길 바라는 맘과 다시금 고맙다는 말씀 덧붙이면서 맺겠습니다.
그럼 오늘도 건강하게 지내는 하루 되십시오!