소수점이하자릿수 출력

소수점이하자릿수 출력

QA

소수점이하자릿수 출력

본문

자동계산기를 만들고있는데요 소수전이하 자릿수가 출력이않되네요...

뭐가잘못된건지 고수님들의 조언 부탁드립니다.

만약 15.35 * 12.25=188.0375인데 188까지밖에 출력이안되네요

도와주세요!!!

 

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<script language='JavaScript'>
/// VAT 계산 하기 //////////
//////////////////////// 문자열 치환 //////////////////////
function replace(str,sstr,rstr) { // 문자열 치환
return String(str).replace(new RegExp(sstr,"ig"),rstr);
}
//////////////////////// 문자열 치환 //////////////////////

//////////// 실시간 콤마 /////////////////////
function tagin_net_comma(tagin_net_str) {
var t_align = "right"; // 텍스트 필드 정렬
var t_num = tagin_net_str.value.substring(0,1); // 첫글자 확인 변수
var num = /^[/,/,0,1,2,3,4,5,6,7,8,9,/]/; // 숫자와 , 만 가능
var tagin_netValue = "";
var tagin_netValue2 = "";

if (!num.test(tagin_net_str.value)) {
alert('숫자만 입력하십시오.nn특수문자와 한글/영문은 사용할수 없습니다.');
tagin_net_str.value="";
tagin_net_str.focus();
return false;
}

if ((t_num < "0" || "9" < t_num)){
alert("숫자만 입력하십시오.");
tagin_net_str.value="";
tagin_net_str.focus();
return false;
}

for(i=0; i<tagin_net_str.value.length; i++) {
if(tagin_net_str.value.charAt(tagin_net_str.value.length - i -1) != ",") {
tagin_netValue2 = tagin_net_str.value.charAt(tagin_net_str.value.length - i -1) + tagin_netValue2;
}
}

for(i=0; i<tagin_netValue2.length; i++) {

if(i > 0 && (i%3)==0) {
tagin_netValue = tagin_netValue2.charAt(tagin_netValue2.length - i -1) + "," + tagin_netValue;
} else {
tagin_netValue = tagin_netValue2.charAt(tagin_netValue2.length - i -1) + tagin_netValue;
}
}

tagin_net_str.value = tagin_netValue;
tagin_net_str.style.textAlign = t_align;
}
//////////// 실시간 콤마 /////////////////////

///////////////// 콤마 나누는 부분 ////////////////
function commaSplit(srcNumber) {
var txtNumber = '' + srcNumber;
var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
var arrNumber = txtNumber.split('.');
arrNumber[0] += '.';
do {
arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
}
while (rxSplit.test(arrNumber[0]));
if (arrNumber.length > 1) {
return arrNumber.join('');
}
else {
return arrNumber[0].split('.')[0];
}
}
///////////////// 콤마 나누는 부분 ////////////////

function tagin_net_vat(){
var f = document.tagin_netform;
var tagin_net_vat_rate = (f.tagin_net_rate.value);
var tagin_net_money = replace(f.tagin_net_money.value,',','');
var tagin_net_money2 = replace(f.tagin_net_money2.value,',','');
var tagin_net_vat_money= (tagin_net_vat_rate / tagin_net_money * tagin_net_money2);
var tagin_net_vat_money_plus = (parseInt(tagin_net_vat_money) + parseInt(tagin_net_money2));
var tagin_net_vat_money_plus2 = (tagin_net_vat_rate * tagin_net_money2 - tagin_net_vat_money_plus);
var tagin_net_vat_money_plus3 = (tagin_net_vat_money_plus2 / tagin_net_vat_money_plus * 100);
f.tagin_net_vat_money.value = commaSplit(parseInt(tagin_net_vat_money));
f.tagin_net_vat_money_plus.value = commaSplit(parseInt(tagin_net_vat_money_plus));
f.tagin_net_vat_money_plus2.value = commaSplit(parseInt(tagin_net_vat_money_plus2));
f.tagin_net_vat_money_plus3.value = commaSplit(parseInt(tagin_net_vat_money_plus3));
}

</script>

<style type="text/css">
<!--
.style1 {font-size: 12px}
.hd-lt-celebrate100-sponsor {margin-bottom:10px; border:1px solid #C8C8C8; background:#fff url(../img/bg_shadow.gif) repeat-x left bottom;}
-->
</style>

<form name="tagin_netform">
<div class="hd-lt-celebrate100-sponsor">
<table width="238" border="0" bgcolor="#CCCCCC" cellpadding="5" cellspacing="1" align="center">
<tr align="center" bgcolor="white">
  <td colspan="4"><img src="img/bet_01.gif" width="238" height="36"></td>
</tr>
<tr align="center" bgcolor="#CCCCCC" class="style1">
<td width="52" height="35"><div align="center">금액1</div></td>
<td width="47" align="left"><div align="center">금액2</div></td>
  <td width="56" align="left"><div align="center">이익</div></td>
  <td width="50" align="left"><div align="center">
    <input type="text" size="6" name="tagin_net_vat_money_plus2" value="" onFocus="this.blur()" style="text-align:right;">
  </div></td>
</tr>
<tr align="center" bgcolor="#EEEEEE" class="style1">
<td height="35"><div align="center">
  <input type="text" size="6" name="tagin_net_rate" value="" onKeyUp="tagin_net_vat()" style="text-align:right;">
</div></td>
<td align="left"><div align="center">
  <input type="text" size="6" name="tagin_net_money" value="" onKeyUp="tagin_net_vat()" style="text-align:right;">
</div></td>
<td align="left"><div align="center">수익율</div></td>
<td align="left"><div align="center">
  <input type="text" size="6" name="tagin_net_vat_money_plus3" value="" onkeyup='javascript:calcArea()' style="text-align:right;">
</div></td>
</tr>
<tr align="center" bgcolor="#CCCCCC" class="style1">
<td height="35"><div align="center">
  <input type="text" size="6" name="tagin_net_money2" value="" onKeyUp="tagin_net_vat()" style="text-align:right;">
</div></td>
<td align="left"><div align="center">
  <input type="text" size="6" name="tagin_net_vat_money" value="" onkeyup='javascript:calcArea()' style="text-align:right;">
</div></td>
<td align="left"><div align="center">총합계</div></td>
<td align="left"><div align="center">
  <input type="text" size="6" name="tagin_net_vat_money_plus" value="" onkeyup='javascript:calcArea()' style="text-align:right;">
  </div></td>

 

<?


for ($i=0; $i<count($list); $i++)
{
 if($i % $cols == 0 || $i==0){echo "<tr align='center' bgcolor='white'>";} //테이블 열바꿈 관련
 if($i % $cols == ($cols-1)&& $i>0){echo "</tr>";} //테이블 열바꿈 관련
}

?>
</table>
</div>
</form>

이 질문에 댓글 쓰기 :

답변 3

 

아래 부분 때문일 듯.. 

​return arrNumber[0].split('.')[0];

split 부분을 빼보세요 

답변을 작성하시기 전에 로그인 해주세요.
전체 2,635
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT