2012-11-11 2 views
2

계산을 소수점 이하 자릿수로 표시하는 방법을 알아 내려하는데 어려움을 겪고 있습니다. 항상 아래로 내립니다.스크립트에서 소수점 두 자리 계산을 표시하는 방법

$(function() { 
    var $priceHolder = $('#creditsPrice'); 
    if ($priceHolder.size() === 1) { 
     $('#creditsNeeded').keyup(function(e) { 
      var $this = $(this), 
       url = $this.attr('rel'), 
       credits = parseInt($this.val(), 10); 

      if (credits <= 0) { 
       if ($priceHolder.is(':visible')) { 
        $priceHolder.hide(); 
       } 
       $priceHolder.hide(); 
       return; 
      } 

      if (!$priceHolder.is(':visible')) { 
       $priceHolder.show(); 
      } 

      url += '/' + credits; 

      $.ajax({ 
       method: 'get', 
       url: url, 
       dataType: 'json', 
       success: function(data) { 
        $('#js-price', $priceHolder).text(data); 
       } 
      }); 
     }); 
    } 
}); 
+0

SO에 오신 것을 환영합니다. 좀 더 정확할 수 있습니까? 어떤 변수가 반올림되어야합니까? 2 자리 소수로 반올림하는 부분은 코드의 어느 부분입니까? – Mateng

+0

크레딧 = parseInt ($ this.val(), 10); 이것은 신용 비용이 고안된 곳입니다. 어떤 이유로 든 저는 십진법으로 바꿀 수 없습니다. 이것은 상속 된 코드이지만 다른 곳에서는 찾을 수 없습니다. – ahurst

답변

2

당신이 credits 변수를 참조하는 경우가 ...를 int로 전화 번호를 구문 분석처럼 소리를 정확히 않는 parseInt을 사용하고 있기 때문에, 그것이 : 여기

는 코드입니다. 대신 credits.toFixed(2)을 사용하면 가장 가까운 백분율로 반올림 한 값을 반환합니다.

+0

네, 그게 제가 성취하려고하는 것입니다. 교환하면 다시 계산을받지 못합니다. – ahurst

+0

'parseInt()'를 호출하기 전에'$ this.val()'이란 무엇입니까? 입력을 모르는 스크립트를 디버그하는 것은 어렵습니다. 나는 당신이'credits.toFixed (2)'를 호출 할 수 없기 때문에 원래의 대답으로 당신을 오도 할 수도있다.이 경우에는'credits = parseFloat ($ this.val()). toFixed (2)'. – Cecchi

+0

이 스크립트가 작동하는 방식은 양식 필드의 크레딧 금액이며 db에 값을 곱하는 것입니다. 이 경우 5 * 5.25를 곱하려고 시도하고 있습니다. 아무리 노력해도 26 달러가 아닌 26 달러로 계속 올라갑니다. – ahurst

관련 문제