호주에서 달러금액을 표시하려면 소수점 둘째자리까지 적용해야합니다.
그누보드5 스킨에 루미집사님이 올리신 게시판 스킨 중에서
스크립트부분만 따왔는데요.
보시고 어디를 고쳐야 소수점이 가능한지 알려주시면 감사하겠습니다.
<?php
include_once("_common.php");
include_once($board_skin_path."/skin.function.php");
// 지출내역 불러오기
$dataA = get_subdata($wr_id);
?>
<script>
var array = <?php echo json_encode($dataA); ?>; // DB 값
var calculate = []; // 계산에 필요한 정보를 담을 배열
var supply = []; // 합게금액
$(document).ready(function() {
/**
* 동적테이블 플러그인 시작.
* @param { string } autoTabId 엔터키 입력시 커서(focus) 자동 이동 적용될 영역의 className 또는 IdNmae
* @param { string } selector 동적테이블의 <tbody>의 className 또는 IdNmae
* @param { string } delBtn 테이블 ROW 삭제버튼의 ClassName
* @param { string } unique 자료의 고유번호 선택자(id_no, wr_id, no, ids... 등등..)
* @param { string } delUrl 자료삭제 URL (행 자료삭제)
* @param { string } autoTabclass 엔터키입력시 자동으로 포커스 이동 가능 ClassName
* @param { Object } dbData (배열값) DB 데이타 배열.
* @param { Array } items (배열값) 동적테이블을 구성하고 있는 요소들의 속성.
* @param { function } delSucess 행 삭제시 추가로 실행될 사용자 함수
*/
rumiTable.rumiLoad({
autoTabId : "#doc_zone",
selector: ".work_item",
delBtn : ".delItemBtn",
unique : ".id_no",
delUrl : cfg.board_skin_url+"/ajax.delete.php?bo_table="+cfg.bo_table,
autoTabclass : "input.insTab",
dbData : array,
items : [
{ selector:'doc_sub', type:'text', number:false },
{ selector:'id_no', type:'text', number:false },
{ selector:'doc_cost', type:'text', number:true },
{ selector:'doc_etc', type:'text', number:false }
],
// row 삭제시 실행될 사용자 함수
delSuccess : function(e){
// 삭제성공시 사용자 추가 함수를 실행할 수 있습니다.
// 선택한 행 삭제후 실행되며, 삭제된 이후의 행이 한단계씩 올라가므로 계산에 필요한 배열을 초기화후 재배열
var tr_cnt = $(".doc_cost").length;
calculate = []; // 계산에 필요한 배열 초기화
for(i=0; i < tr_cnt; i++) {
var val = $(".doc_cost").val() * 1;
if(val > 0) {
calCulate(i);
}
}
}
});
$(".work_item").on("keyup", "input.doc_cost", function(e) {
var idx = $(this).index(".doc_cost");
calCulate(idx);
});
$(".doc_cost").number(true, 0);
array_sum(array);
});
/**
* 입력한 금액을 배열에 추가 ( 주의 : 서식파일에 포함되어야 합니다.)
* @param {Number} idx 행번호
*/
function calCulate(idx){
// 입력한 금액을 배열로 담는다.
calculate[idx] = {
doc_cost : $('.doc_cost').eq(idx).val() * 1
};
supply[idx]= calculate[idx].doc_cost; // 필드별 합계
sum_supply = supply_sum(supply); // 소계의 합계
$(".cost_sum").val(number_format(sum_supply));
$(".cost_sum_txt").text(number_format(sum_supply));
}
</script>
답변 1개 / 댓글 1개
number_format() 함수가 반올림하고 쉼표를 주는 함수인것 같네요.
직접 만든 함수라서 해당 소스가 있어야 도와드릴 수 있습니다.
이 함수에서 반올림을 할때,
100을 곱한 후 반올림하고, 다시 100으로 나누면
소수점 아래 2자리로 됩니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
나름 이리저리 해보다가 완벽하지는 않지만 해법을 찾은 것 같습니다.
감사합니다.