2017-10-20 8 views
0

내 블레이드 파일의 많은 장소에서 통화 형식을 사용하고 있습니다. 적절한 통화 형식을 표시하기 위해 number_format을 사용하고 있습니다. 그것은이laravel의 통화 형식

<p>${{ number_format($row->nCashInitialBalance, 2) }}</p> // $1,123.00 
<p>${{ number_format($row->nCashCalculatedBalance, 2) }}</p> // $300.50 
<p>${{ number_format($row->nCashPaymentsReceived, 2) }}</p> // $2,341.15 
<p>${{ number_format($row->nCardFinalBalance, 2)}}</p> // $234.10 

처럼 보이는 그래서 나는 내가 많은 장소에서 toFixed(2)을 사용하고 입력 필드 또한이

<p>${{ $row->nCashInitialBalance }}</p> // $1123 
<p>${{ $row->nCashCalculatedBalance }}</p> // $300.5 
<p>${{ $row->nCashPaymentsReceived }}</p> // $2341.15 
<p>${{ $row->nCardFinalBalance }}</p> // $234.1 

모양을 사용하지 않는 경우.

#nDiscount_fixed").val() = parseFloat($("#nDiscount_fixed").val()).toFixed(2); 

모든 변수를 적절한 통화 형식으로 표시하는 가장 쉬운 방법은 없습니까? 나는 number_formattoFixed(2) 거의 50 번 이상을 사용했습니다.

+0

가 [money_format] 시도 (HTTP : //php.net/money_format) !! – Maraboc

답변

1

당신은 custom Laravel directive를 만들 수 있습니다. 필요로하는 모든 장소에서 해당 지시문을 호출해야하지만 코드를 변경하려는 경우 (예 : number_format을 다른 것으로 바꾸면) 해당 지시문을 업데이트하기 만하면된다는 이점이 있습니다.

예 (워드 프로세서에서 가져온 및 사용 사례에 대해 업데이트) (당신의 AppServiceProviderboot 방법) :

Blade::directive('convert', function ($money) { 
    return "<?php echo number_format($money, 2); ?>"; 
}); 

블레이드에서의 사용 :

@convert($var) 
+0

나는 매번'''number_format ($ money, 2)''를 쓰는 것이 더 짧을 것이라고 생각한다. money_format (https://github.com/rec/laravel-money)을 사용하는 경우 여전히 변수를 래핑해야합니까? ie @ money (500, 'BRL')? – Johnny

+0

필자는 그렇지 않다고 생각하지만, 특정 코드를 한 곳에서만 사용하면되는 이점이 있습니다. 예를 들어 다른 패키지를 찾으면 변경하기가 더 쉽습니다. 해당 패키지에 포함 된 Blade 지시문은 멋지게 보입니다. –

1

AppServiceProvider 파일의 boot() 메서드에 custom Blade directive을 추가 할 수 있습니다. 예를 들어

:

Blade::directive('money', function ($amount) { 
    return "<?php echo '$' . number_format($amount, 2); ?>"; 
}); 

그리고 당신의 블레이드 파일에

, 당신은이 같은 @money()를 사용해야합니다 :

@money($yourVariable)