웹마스터 팁
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에도 있습니다.)
제목 | 글쓴이 | 날짜 |
---|---|---|
SMTP 인증 회원가입 메일 인증 , 비밀번호 오류찾기 및 답변글 메일로 받기 [11] | FFHosting | 2009.01.12 |
알ftp, editplus 계정정보 파일 백업 | yjnet | 2009.01.10 |
XE 초기설치시 error 500 이 나오며 설치가 안될때 [1] | sangjaezzi | 2009.01.09 |
회원가입시 닉네임 중복사용 가능하게 하기.. [3] | 一淚™ | 2009.01.08 |
UCC솔루션에 대한 조사입니다~^^ [2] | 내다 | 2009.01.08 |
전화번호 형식의 확장변수를 목록에 출력하고 싶을 때 | serendip | 2009.01.06 |
팁이라고까지 할껀 없지만.....(db날렸을때..카페24사용시) [3] | 왜만지냐 | 2009.01.06 |
XE 업그레이드후 모듈 업데이트 안되고, 모듈 생성시 이미 존재하는 모듈이라고 나올때 | 또나아빠 | 2009.01.05 |
사진 첨부 등록 시 화일 사라짐 [2] | 정욱재 | 2009.01.03 |
rewrite 모듈 - 아파치 설정.. [1] | 야간비행7 | 2009.01.03 |
확장 컴포넌트 출력 아이콘 표시 | o앙마o | 2009.01.02 |
.htaccess 파일을 쉽게 만드는 방법 [5] | 김병화999 | 2009.01.01 |
로그인한 회원만 최근 게시글, 검색등 볼수 있도록 하기 [3] | [_)s | 2008.12.31 |
업그레이드 후 아이콘 혹은 이미지 깨짐현상 발생시 [2] | 플로리다 | 2008.12.31 |
음악판매 [5] | 물푸레646 | 2008.12.27 |
IIS7, PHP 5, MySQL 5, 제로보드 설치기 [1] | 54장 | 2008.12.26 |
메인 페이지가 백지로 나올 때 이렇게 해보세요. [4] | 시금치 | 2008.12.23 |
회원정보 이미지 항목 추가 [3] | 개돌 | 2008.12.22 |
자신의 홈페이지에 플래시 오락실을 등록 해보자. [2] | 조성우371 | 2008.12.20 |
주민등록 번호 받기(수정) [23] | 개돌 | 2008.12.18 |
제가 수도 없이 많은 날을 학교라는 대단한 시설을 오갔는데도 어찌 된 영문인지 글쎄 아직 아주 간단한 계산기 하나도 못 다룬답니다.
참으로 개탄할 노릇이지요. 그런 이유에서도 그렇겠지만, 컴퓨터에서도 가끔 일상에 필요한 계산기를 굴려야 할 필요가 있어 기회가 닿으면 인터넷에서 계산기 소스를 구해와서 제 컴퓨터에 달아두곤 했거든요.
오늘은 그렇게 얻은 계산기 중 하나를 꺼내놓고서 그 속을 들여다보는데 도무지 계산기 전면에 나온 영문의 버튼들이 무슨 뜻인지 알 수가 없는 겁니다.
설혹 안다고 해도 그 계산 식이나 버튼 입력 방식을 몰라 거기 나온 결과가 정답인지 확신할 수도 없는 판국인데 최소한 거기 나온 버튼 몇 개 정도는 확인할 필요가 있었습니다.
가령 이 글에 첨부한 그림에도 나올 'MC', 'MR, 'MS', 'M-', 'M+' 등등의 버튼을 말이어요.
그래서 마땅히 찾을 곳도 없고 하여 네이버에서 검색해서 확인했는데 그 대충을 겨우 이해했지요.
그런데 문제는 여기 소스대로 만든 계산기 안의 'MS' 버튼이 네이버에서 확인한 사정과는 약간 다른 결과를 내보냈거든요.
아무리 봐도 그건 '메모리 Minus'에 의미를 지닌 'M-'로 고치는 것이 바를 것 같기에 그렇게 바꿔봅니다.
이렇게도 고마운 소스를 얻었기에 사실 무척 기뻤습니다.
그 고마움이 이런 약간의 차이 탓에 줄어든 건 아니지만, 그보다 먼저 'MS' 버튼에 다른 뜻이 들었을 수도 있는데 제가 혹시 아무것도 모른 체 이렇게 무작정 설레발 떠는 건 아닌지 불안합니다.
그 진위도 확인되길 바라는 맘과 다시금 고맙다는 말씀 덧붙이면서 맺겠습니다.
그럼 오늘도 건강하게 지내는 하루 되십시오!