웹마스터 팁
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에도 있습니다.)
제목 | 글쓴이 | 날짜 |
---|---|---|
SVN 의 사용 방법 [3] | preware | 2007.11.06 |
완전 초보도 확장 변수를 이용해 게시판 개조할수잇다!! [4] | 쿤. | 2007.11.06 |
(08년 1월2일수정)0.2.3이후 최근글에 공지사항을 제외시키고자할 경우 [11] | 포레버 | 2007.11.07 |
레벨 아이콘이 제대로(찌그러지는 등) 출력되지 않을 때 수정방법 | 必得力 | 2007.11.07 |
메뉴에 마우스 갖다대면 뜨는 메뉴 만드는 방법 [25] | 소마세월 | 2007.11.07 |
"이 게시물을..." 추천/비추천/신고 메뉴를 버튼으로 [28] | xe촙5 | 2007.11.08 |
제로보드 2.3 에서 2.5 변경사항 데이터 테이블 구조 변경사항 체크를 정리해봅니다. [4] | 도토리나무 | 2007.11.09 |
제로보드 2.3 에서 2.5 업그레이드 방법 | 도토리나무 | 2007.11.09 |
첨부파일 기능에 대한 짧은 정보 [3] | 고라리 | 2007.11.09 |
외부 문서에서 회원 정보 얻는 방법 [11] | 소마세월 | 2007.11.10 |
통합검색 버그 style 수정 [2] | 소마세월 | 2007.11.11 |
확장변수에서 본문 입력 빼기 [10] | Diver | 2007.11.12 |
회원에게 만기일 주기(1원짜리 팁) [17] | 까오천사 | 2007.11.12 |
쪽지 수신 음성 알림 [19] | Simulz | 2007.11.13 |
알바트로스 적용후 검색하는 곳에 댓글과 태그 검색 업션 넣기 [1] | 비밀얌 | 2007.11.13 |
[수정]업로드된 그림 자동출력 [6] | 소마세월 | 2007.11.13 |
이미지 갤러리 셀렉트박스 문제 [1] | 공작대천사 | 2007.11.14 |
<head> 태그안에 임의의 내용을 넣는 방법 [1] | 발돋움 | 2007.11.16 |
간편해진 페이지 수정법 | coll | 2007.11.16 |
(포인트) 레벨별 포인트 계산 기능 추가 [4] | Simulz | 2007.11.19 |
제가 수도 없이 많은 날을 학교라는 대단한 시설을 오갔는데도 어찌 된 영문인지 글쎄 아직 아주 간단한 계산기 하나도 못 다룬답니다.
참으로 개탄할 노릇이지요. 그런 이유에서도 그렇겠지만, 컴퓨터에서도 가끔 일상에 필요한 계산기를 굴려야 할 필요가 있어 기회가 닿으면 인터넷에서 계산기 소스를 구해와서 제 컴퓨터에 달아두곤 했거든요.
오늘은 그렇게 얻은 계산기 중 하나를 꺼내놓고서 그 속을 들여다보는데 도무지 계산기 전면에 나온 영문의 버튼들이 무슨 뜻인지 알 수가 없는 겁니다.
설혹 안다고 해도 그 계산 식이나 버튼 입력 방식을 몰라 거기 나온 결과가 정답인지 확신할 수도 없는 판국인데 최소한 거기 나온 버튼 몇 개 정도는 확인할 필요가 있었습니다.
가령 이 글에 첨부한 그림에도 나올 'MC', 'MR, 'MS', 'M-', 'M+' 등등의 버튼을 말이어요.
그래서 마땅히 찾을 곳도 없고 하여 네이버에서 검색해서 확인했는데 그 대충을 겨우 이해했지요.
그런데 문제는 여기 소스대로 만든 계산기 안의 'MS' 버튼이 네이버에서 확인한 사정과는 약간 다른 결과를 내보냈거든요.
아무리 봐도 그건 '메모리 Minus'에 의미를 지닌 'M-'로 고치는 것이 바를 것 같기에 그렇게 바꿔봅니다.
이렇게도 고마운 소스를 얻었기에 사실 무척 기뻤습니다.
그 고마움이 이런 약간의 차이 탓에 줄어든 건 아니지만, 그보다 먼저 'MS' 버튼에 다른 뜻이 들었을 수도 있는데 제가 혹시 아무것도 모른 체 이렇게 무작정 설레발 떠는 건 아닌지 불안합니다.
그 진위도 확인되길 바라는 맘과 다시금 고맙다는 말씀 덧붙이면서 맺겠습니다.
그럼 오늘도 건강하게 지내는 하루 되십시오!