서식 적용 문자열: 금액

4556 단어 문자열

입력 상자에 입력한 숫자를 금액 형식으로 변환합니다.

/*

 * caculate

 * input:  100000 

 * output: 100,000

*/

(function ($) {



    var $input = $("#cacu-input"),

        $btn = $("#cacu-btn"),

        $result = $("#cacu-result"),

        result = 0,

        //  

        filterNum = function (e) {

            //  

            if ((e.keyCode < 48 || e.keyCode > 57) && e.keyCode !== 8) {

                e.preventDefault();

                return false;

            }

        },

        //  

        formatCurrency = function (num) {

            num = num.toString().replace(/\$|\,/g, '');



            if (isNaN(num)) {

                num = "0";

            }



            var sign, cents;  //     



            sign = ((Number(num) >= 0) ? '' : '-');  //    

            num = Math.abs(num*100 + 0.50000000001);

            cents = num%100;



            num = Math.floor(num/100).toString();

            if (cents < 10) {

                cents = '0' + cents;

            }



            for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {

                num = num.substring(0,num.length-(4*i+3))+','+

                num.substring(num.length-(4*i+3));

            }

            

            return (sign + num);  // + '.' + cents;

        },

        getCurrency = function (num) {

            return num.replace(/\$|\,/g, '');

        };



    $input.on("keypress", function (e) {

        filterNum(e);

    }).on("keyup", function (e) {

        var val = $(this).val();

        val = formatCurrency(val);



        $(this).val(val);

    });



    $btn.on("click", function (e) {

        e.preventDefault();

        var money = $input.val();

        money = getCurrency(money);



        result = parseInt(money/500, 10);

        $result.text(result);

    });

})(window.jQuery);

좋은 웹페이지 즐겨찾기