고요한 강

♣ 아~ 보고 싶어라 · 보고 싶어라 · 내 여인이 보고 싶어라 · 꿈결에라도 보고 싶어라! ♣


자바스크립트로 만들어 본 소수점 처리 요령 네 가지 가슴에

자바스크립트로 만들어 본 소수점 처리 요령 네 가지.


아래는 소스입니다.


만약에 첨부가 되면 텍스트나 HTML 파일 모두에서 첨부하겠습니다.



HTML은 첨부할 수 없기에 하는 수 없이 텍스트로 변환하여 첨부합니다.


첨부 소스 : 자바에서 여러 가지 소수점 처리 형식을 볼 수 있는 웹문서입니다.


------------------------------------------------------------------


<HTML><HEAD>


<Meta http-equiv="Content-Type" content="text/html; charset=euc-kr">


<Meta http-equiv="Content-Type" content="text/html; charset=utf-8">


<TITLE>자바스크립트로 만들어 본 소수점 처리 요령 네 가지.</TITLE>


<SCRIPT>


// 계산 결과를 임시로 저장하는 클립보드와 같은 값 임시저장소입니다.


var Rg='그럼 좋은 밤 되세요.';


 


// 열리면서 위치, 크기를 다시 설정하라는 소스입니다.


self.moveTo(212,125);


self.resizeTo(600,450);


 


// 창 다시 열 때 쓰는 오픈 소스입니다.


function N(){window.open('Intellectual_Calculator.htm','_self');}


 


// 계산하는 순간 모든 입력 상자에 결과 값 채우려는 소스입니다.


function J(){


Corea.S1.value=Corea.S2.value=Corea.S3.value=Corea.S4.value=Rg=Corea.N.value;}


 


// 소수점 처리 유형을 네 개로 잡아놓고 따로따로 보이도록 하는 소스입니다.


function z1(){R=parseInt(Rg);Corea.S1.value=R;}// 요놈은 결과 값에서 정수 뒤에 소수가 있으면 무조건 자르고 정수만 내보냅니다.


function z2(){R=Math.ceil(Rg);Corea.S2.value=R;}// 요놈은 희한하게도 결과 값에서 정수 뒤에 소수가 있으면 크기와 무관하게 무조건 반올림해서 내보냅니다.


function z3(){R=Math.floor(Rg);Corea.S3.value=R;}// 요놈은 결과 값에서 정수 뒤에 소수가 있으면 'parseInt'와 마찬가지로 무조건 자르고 정수만 내보냅니다.


function z4(){R=Math.round(Rg);Corea.S4.value=R;}// 요놈은 결과 값에서 정수 뒤에 소수가 있으면 정상적으로 반올림하여 내보냅니다.


 


// 여기는 주로 계산기 소스입니다.


function Calculate(form){form.N.value=eval(form.N.value);}


function Ns(form,str){form.N.value+=str;}


function De(INPUT){INPUT.value=INPUT.value.substring(0,INPUT.value.length-1);}


function Neg(){Corea.N.value=parseFloat(Corea.N.value)*-1;}


function OPEN(){Corea.N.value+='(';}


function CLOSE(){Corea.N.value+=')';}


function AD(){Corea.N.value="";PendingOp="";FlagNewNum=true;Accum=0;}


function T(){


textRange=document.Corea.N.createTextRange();


textRange.execCommand("Copy");}


function Nul(){if(Corea.N.value==''||Corea.N.value=='undefined'||Corea.N.value=='null'||Corea.N.value=='NaN'||Corea.N.value=='NaN/'){Corea.N.value='';}}


function Nol(){if(Corea.S1.value=='undefined'||Corea.S2.value=='undefined'||Corea.S3.value=='undefined'||Corea.S4.value=='undefined'||Corea.S1.value=='NaN'||Corea.S2.value=='NaN'||Corea.S3.value=='NaN'||Corea.S4.value=='NaN'){Corea.S1.value='';Corea.S2.value='';Corea.S3.value='';Corea.S4.value='';}}


function Pc(name){


var obj=document.all(name);


var doc=obj.createTextRange();


doc.select();


doc.execCommand('paste');}


 


// 창 열리는 시각을 보여주는 소스입니다.


function yoi(now){


d=now.getDay();if(d==0){return '일';}if(d==1){return '월';}if(d==2){return '화';}


if(d==3){return '수';}if(d==4){return '목';}if(d==5){return '금';}


if(d==6){return '토';}}


function rainclock(){var after="오전"


var now=new Date();


var hour=now.getHours();


if(hour>11){after="오후";}


if(hour<1){now.setHours(12);}


if(hour>12){now.setHours(hour-12);}


var rain=now.toString();


hh=rain.substring(10,19)+' '+after;


yoil=yoi(now);


yy=('서기 ')+now.getYear()+'년 '+parseInt(now.getMonth()+1)+'월 '+now.getDate()+'일'


yy+=' '+yoil+'요일'+' ';


timeString=yy+hh;


Clock.innerHTML=timeString;


;}


window.-nload=rainclock;


// 별것도 아닌데 제가 블로그 계산용으로 만들었던 걸 다른 용도로 바꾸려니까 오히려 더 복잡해졌습니다.


</SCRIPT>


 


<STYLE>


BODY{background:lime;overflow:hidden;margin:25,0,0,0;}


INPUT,P{selector-dummy:e-pression(this.hideFocus=true);line-height:1;}


INPUT,P{font-size:9pt;font-family:바탕;font-weight:bold;background:#D0D0D0;}


INPUT{text-align:center;padding-top:2;cursor:hand;width:90;}


P{margin:1,0;background:transparent;cursor:default;}


TABLE{font-size:9pt;font-family:바탕;font-weight:bold;background:#FF9D00;}


TD{text-align:center;vertical-align:middle;}


.1In{width:20;text-align:center;}


.2In{width:30;text-align:center;}


.3In{width:40;text-align:center;}


</STYLE></HEAD>


 


<BODY onContextmenu='N();return false';>


<DIV align=center><form name="Corea">


<TABLE cellspacing=0 cellpadding=7 border=0 align='center' bgcolor='#FFfff0'>


<TR><TD colspan='4'><SPAN style=background-color:#C0FFFF;color:black;padding:5,7,1,7>사이트에 들어온 시각 : <SPAN id='Clock'></SPAN></SPAN></TD>


</TR><TR>


<TD><INPUT type=reset value='리셋' class='3In'></TD>


<TD colspan='2'><P><INPUT type=button value='클립보드내용 호출' onClick="Pc('N')" -nmouseOut="Nul()" style='width:125'></P></TD>


<TD><INPUT type=reset value='리셋' class='3In'></TD>


</TR><TR>


<TD>무조건 절삭<BR/>parseInt()</TD>


<TD>무조건 반올림<BR/>Math.ceil()</TD>


<TD>무조건 절삭<BR/>Math.floor()</TD>


<TD>정상 반올림<BR/>Math.round()</TD>


</TR><TR>


<TD><INPUT name=S1 value='parseInt()' type=Text style=background:white;cursor:default;width:120 onClick='z1()' -nfocus='blur()'>


<TD><INPUT name=S2 value='Math.ceil()' type=Text style=background:white;cursor:default;width:120 onClick='z2()' -nfocus='blur()'>


<TD><INPUT name=S3 value='Math.floor()' type=Text style=background:white;cursor:default;width:120 onClick='z3()' -nfocus='blur()'>


<TD><INPUT name=S4 value='Math.round()' type=Text style=background:white;cursor:default;width:120 onClick='z4()' -nfocus='blur()'>


</TR><TR>


<TD colspan='4'>소수점 들어가면 위 다른 유형의 소수점 입력 상자를 따로따로 한 번씩 눌러보세요.</TD>


</TR><TR>


<TD colspan='4'><INPUT name=N type=Text -nmouseOver="Calculate(this.form),J(),Nul(),Nol(),T()" style=background:white;cursor:default;width:300 onClick='R2()'>


</TR><TR><TD colspan='4'>


<INPUT type=button value='1' onClick="Ns(this.form,'1')" class='1In'>


<INPUT type=button value='2' onClick="Ns(this.form,'2')" class='1In'>


<INPUT type=button value='3' onClick="Ns(this.form,'3')" class='1In'>


<INPUT type=button value='4' onClick="Ns(this.form,'4')" class='1In'>


<INPUT type=button value='5' onClick="Ns(this.form,'5')" class='1In'>


<INPUT type=button value='6' onClick="Ns(this.form,'6')" class='1In'>


<INPUT type=button value='7' onClick="Ns(this.form,'7')" class='1In'>


<INPUT type=button value='8' onClick="Ns(this.form,'8')" class='1In'>


<INPUT type=button value='9' onClick="Ns(this.form,'9')" class='1In'>


<INPUT type=button value='0' onClick="Ns(this.form,'0')" class='1In'>


<INPUT type=button value='.' onClick="Ns(this.form,'.')" class='1In'>


<INPUT type=button value='AC' onClick="AD()" class='2In'>


</TD></TR><TR><TD colspan='4'>


<INPUT type=button value='(' onClick="OPEN()" class='1In'>


<INPUT type=button value=')' onClick="CLOSE()" class='1In'>


<INPUT type=button value='+' onClick="Ns(this.form,'+')" class='1In'>


<INPUT type=button value='-' onClick="Ns(this.form,'-')" class='1In'>


<INPUT type=button value='×' onClick="Ns(this.form,'*')" class='1In'>


<INPUT type=button value='÷' onClick="Ns(this.form,'/')" class='1In'>


<INPUT type=button value='+·-' onClick="Neg()" class='2In'>


<INPUT type=button value='←' onClick="De(this.form.N)" class='1In'>


<INPUT type=button value='Md' onClick="Ns(this.form,'%')" class='2In'>


<INPUT type=button value='계산' onClick="Calculate(this.form),J(),Nul(),Nol(),T()" class='3In' Title='계산결과 창에 마우스 스쳐도 계산됩니다.'>


</TD></form></TR></TABLE></DIV>


<INPUT type=button value='처음으로' onClick='N()' style='position:absolute;top:0;left:0;width:50pt;'>


<INPUT type=button value='처음으로' onClick='N()' style='position:absolute;top:0;right:0;width:50pt;'>


<INPUT type=button value='처음으로' onClick='N()' style='position:absolute;bottom:0;left:0;width:50pt;'>


<INPUT type=button value='처음으로' onClick='N()' style='position:absolute;bottom:0;right:0;width:50pt;'>


</BODY></HTML>


 


------------------------------------------------------------------


이상입니다.


첨부 파일은 위쪽 그림 아래에 있습니다.


 




라이프로그


그리운 그 사람

노동당(중앙당)

천문우주지식포털

다음카페들(?)

방문현황

통계 위젯 (블랙)

1516
87
1026525