2016-10-27 4 views
0

私はフィルタを次のようにHTMLで使用しています。angularjs通貨フィルターは、余分なプラスシンボルを追加する

var mydata = 20000; 

{{mydata | currency : '$' : 2}} 

それは、値の「+」の余分なものを持っている +20,000.00としてしかし、値が表示されます。

これを削除する方法はありますか?

ありがとうございます!

+0

はどこから '+'得るのですか? –

+0

私は分かりません。彼らのソースコードを読んだ。 $ locale.NUMBER_FORMATSのようです。 –

+0

あなたは何を持ちたいですか?シンボルが必要ない場合は、なぜそれを通貨に設定していますか? –

答えて

0

コードのどこかにデフォルト通貨記号が上書きされていないことを確認してください。次の例を参照してください。

script.js

var app = angular.module('root', []); 

app.run(["$locale", function ($locale) { 
    $locale.NUMBER_FORMATS.CURRENCY_SYM = "+" 
}]); 

app.component('root', { 
    template: ` 
    <div> 
    <!-- Prints out $20,000 --> 
    {{ $ctrl.myData | currency: "$": 2 }} 
    </div> 
    <div> 
    <!-- Prints out +20,000 --> 
    {{ $ctrl.myDataPlus | currency }} 
    </div> 
    `, 
    controller: function() { 
    this.myData = "20000"; 
    this.myDataPlus = "20000"; 
    } 
}); 

index.htmlを

<html ng-app="root"> 
    <head> 
    <script data-require="[email protected]*" data-semver="1.5.8" src="https://code.angularjs.org/1.5.8/angular.js"></script> 
    <script src="script.js"></script> 
    </head> 

    <body> 
    <root></root> 
    </body> 

</html> 
+0

私はどこにも上書きしません。それがどう起こったのか分かりません。 –

0

は、$ロケール番号の形式を上書きする必要があります。

appRun.$inject = ['$locale']; 
function appRun ($locale) { 
    $locale.NUMBER_FORMATS.PATTERNS[1].posPre = '$'; 
} 
関連する問題