울고싶어요.도와주세요.2100올렸어요 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

울고싶어요.도와주세요.2100올렸어요 정보

울고싶어요.도와주세요.2100올렸어요

본문

세금계산서를 참고해서 계산서를 만들고 있어요 
부가세는 안보이게 숨겼어요.  
운송료를 추가 만들었구요.  공급가액과 운송료가 더해지는 소계를 만들어야 합니다.
먼저 운송료는 값을 입력하는 것인데 아래의 빨간색과 같이 만들었는데 맞게 만든것 같아요.
그런데 소계는 공식이 잘못한건지  위의 그림과 같이 합산이 안됩니다.
몇일째 해매고있어요..원래 수학이 좀 안돼는지라 어렵네요...........

<script language='Javascript'>
function tagin_net_vat(){
var f = document.fwrite;
var tagin_net_money = replace(f.tagin_net_money.value,',','');
var tagin_net_qty = replace(f.tagin_net_qty.value,',','');
var tagin_net_a= replace(f.tagin_net_a.value,',','');//입력하는 운송료 인데 맞나요
var tagin_net_amount= (tagin_net_money * tagin_net_qty);
var tagin_net_vat_amount = (tagin_net_amount * 0.1);
var tagin_net_a= (tagin_net_a); //입력하는 운송료 인데 맞나요
var tagin_net_aa= (tagin_net_amount + tagin_net_a);   //소계부분 틀린것 같아요
f.tagin_net_amount.value = parseInt(tagin_net_amount);       
f.tagin_net_vat_amount.value = parseInt(tagin_net_vat_amount);
f.tagin_net_aa.value = parseInt(tagin_net_aa);   //소계부분 틀린것 같아요
hab(f);
hac(f);
}
</script>


<td><input type="text" name="c[2]" value="<?=$c[2]?>" maxlength="24" size="24" class="no_border3"></td>
                      <td><input type="text" name="c[3]" value="<?=$c[3]?>" size="3" maxlength="3" class="no_border2"></td>
                      <td><input type="text" name="c[4]" id="tagin_net_qty" style="text-align:right;" onKeyUp="tagin_net_vat()" value="<?=$c[4]?>" size="4" itemname="tagin_net_qty" class="no_border2"></td>
                      <td><input type="text" name="c[5]" id="tagin_net_money" style="text-align:right;" onKeyUp="tagin_net_vat()" value="<?=$c[5]?>" size="13" itemname="tagin_net_money" class="no_border2"></td>
                      <td><input type="text" name="c[6]" id="tagin_net_amount" value="<?=$c[6]?>" onFocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="15" class="no_border2" ></td>
                      <td><input type="text" name="c[7]" id="tagin_net_vat_amount" value="<?=$c[7]?>"  onFocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="15" class="no_border2" ></td>
                     <td><div id="id10" style="display:none;">
     <input type="text" name="c[7]" id="tagin_net_vat_amount" value="<?=$c[7]?>"  onfocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="15" class="no_border2" /></div>
     <input type="text" name="c[8]" id="tagin_net_a" style="text-align:right;" onKeyUp="tagin_net_a()" value="<?=$c[8]?>" size="13" itemname="tagin_net_a" class="no_border2"></td>
                   
<td><input type="text" name="c[9]" id="tagin_net_aa" value="<?=$c[9]?>" onfocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="15" class="no_border2" /></td>

  • 복사

댓글 전체

어휴 아직??
공급가액+운송료 합계가 20003000 이렇게 나오는건
input box 값이 문자열로 취급되기 때문입니다
곱셈은 숫자로 취급되어 제대로 계산 되지만(부가세를 곱할 때는)
덧셈을 하면 "aaa"+"bbb"="aaabbb"와 완전히 같은 방법으로 계산합니다
replace 사용법도 틀렸습니다(인터넷 검색해보면 많이 나올텐데요)

var tagin_net_money = f.tagin_net_money.value.replace(/,/g,'');
var tagin_net_qty = f.tagin_net_qty.value.replace(/,/g ,'');

var tagin_net_a= f.tagin_net_a.value.replace(/,/g,'') *1;  //곱하기 1

var tagin_net_amount= (tagin_net_money * tagin_net_qty);
var tagin_net_vat_amount = (tagin_net_amount * 0.1);

var tagin_net_aa= tagin_net_amount + tagin_net_a; 
f.tagin_net_amount.value = tagin_net_amount;     
f.tagin_net_vat_amount.value = tagin_net_vat_amount;
f.tagin_net_aa.value = tagin_net_aa; 
이렇게 덧셈할 값은 parseInt로 변환 하던가 곱하기 1 해주면 숫자로 변환 됩니다

계산한 후 입력하는 부분은 f.tagin_net_aa.value = parseInt(tagin_net_aa); 
이것처첨 parseInt 해줄 필요가 없습니다
입력하면 어차피 문자로 취급할텐데 정수로 만든 후 입력할 필요가 없습니다
균이님 사노라 가노라님답변감사합니다.
아래와 같이 해서 겨우겨우 해결했어요
아래와 같이 바꾸었어요 .
function tagin_net_vat(){
var f = document.fwrite;
var tagin_net_money = replace(f.tagin_net_money.value,',','');
var tagin_net_qty = replace(f.tagin_net_qty.value,',','');

var tagin_net_a= f.tagin_net_a.value.replace(/,/g,'') *1;  //곱하기 1

var tagin_net_amount= (tagin_net_money * tagin_net_qty);
var tagin_net_vat_amount = (tagin_net_amount * 0.1);

var tagin_net_a= (tagin_net_a); //
var tagin_net_aa= tagin_net_amount + tagin_net_a; 

f.tagin_net_amount.value = tagin_net_amount;     
f.tagin_net_vat_amount.value = tagin_net_vat_amount;
f.tagin_net_aa.value = tagin_net_aa; 

hab(f);
hac(f);
}
© SIRSOFT
현재 페이지 제일 처음으로