PHP 함수로 존재하는 number_format
함수를 Javascript
함수로 구현하였습니다.
사용방법은 php와 동일합니다.
/**
* PHP 함수 number_format 같이 천자리마다 ,를 자동으로 찍어줌
* @param num number|string : 숫자
* @param decimals int default 0 : 보여질 소숫점 자리숫
* @param dec_point char default . : 소수점을 대체 표시할 문자
* @param thousands_sep char default , : 천자리 ,를 대체 표시할 문자
* @returns {string}
*/
function number_format(num, decimals, dec_point, thousands_sep) {
num = parseFloat(num);
if(isNaN(num)) return '0';
if(typeof(decimals) == 'undefined') decimals = 0;
if(typeof(dec_point) == 'undefined') dec_point = '.';
if(typeof(thousands_sep) == 'undefined') thousands_sep = ',';
decimals = Math.pow(10, decimals);
num = num * decimals;
num = Math.round(num);
num = num / decimals;
num = String(num);
var reg = /(^[+-]?\d+)(\d{3})/;
var tmp = num.split('.');
var n = tmp[0];
var d = tmp[1] ? dec_point + tmp[1] : '';
while(reg.test(n)) n = n.replace(reg, "$1"+thousands_sep+"$2");
return n + d;
}
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
Comments