Programing

jQuery에서 소수점 이하 2 자리로 숫자를 포맷하는 가장 좋은 방법은 무엇입니까?

crosscheck 2020. 11. 23. 07:46
반응형

jQuery에서 소수점 이하 2 자리로 숫자를 포맷하는 가장 좋은 방법은 무엇입니까?


이것이 내가 지금 가지고있는 것입니다.

$("#number").val(parseFloat($("#number").val()).toFixed(2));

나에게 지저분 해 보인다. 기능을 올바르게 연결하고 있다고 생각하지 않습니다. 각 텍스트 상자에 대해 호출해야합니까, 아니면 별도의 함수를 만들 수 있습니까?


여러 분야에서이 작업을 수행하거나 자주 수행하는 경우 플러그인이 답일 수 있습니다.
다음은 필드 값을 소수점 이하 두 자리로 형식화하는 jQuery 플러그인의 시작입니다.
필드의 onchange 이벤트에 의해 트리거됩니다. 다른 것을 원할 수도 있습니다.

<script type="text/javascript">

    // mini jQuery plugin that formats to two decimal places
    (function($) {
        $.fn.currencyFormat = function() {
            this.each( function( i ) {
                $(this).change( function( e ){
                    if( isNaN( parseFloat( this.value ) ) ) return;
                    this.value = parseFloat(this.value).toFixed(2);
                });
            });
            return this; //for chaining
        }
    })( jQuery );

    // apply the currencyFormat behaviour to elements with 'currency' as their class
    $( function() {
        $('.currency').currencyFormat();
    });

</script>   
<input type="text" name="one" class="currency"><br>
<input type="text" name="two" class="currency">

원하는 경우 둘 이상의 요소를 선택할 수있는 이와 같은 것일 수 있습니다.

$("#number").each(function(){
  $(this).val(parseFloat($(this).val()).toFixed(2));
});

입력을 사용할 때 더 도움이 될 수 있기 때문에 키 업과 함께 사용할 Meouw 함수를 수정합니다.

이것을 확인하십시오 :

안녕하세요!, @heridev와 저는 jQuery에서 작은 함수를 만들었습니다.

다음을 시도 할 수 있습니다.

HTML

<input type="text" name="one" class="two-digits"><br>
<input type="text" name="two" class="two-digits">​

jQuery

// apply the two-digits behaviour to elements with 'two-digits' as their class
$( function() {
    $('.two-digits').keyup(function(){
        if($(this).val().indexOf('.')!=-1){         
            if($(this).val().split(".")[1].length > 2){                
                if( isNaN( parseFloat( this.value ) ) ) return;
                this.value = parseFloat(this.value).toFixed(2);
            }  
         }            
         return this; //for chaining
    });
});

온라인 데모 :

http://jsfiddle.net/c4Wqn/

(@heridev, @vicmaster)

참고 URL : https://stackoverflow.com/questions/477892/in-jquery-whats-the-best-way-of-formatting-a-number-to-2-decimal-places

반응형