我在html中使用了以下方式的过滤器。
var mydata = 20000;
{{mydata | currency : '$' : 2}}
但是,该值显示为+20,000.00 它有一个额外的“+”值。
有没有办法删除它?
谢谢!
答案 0 :(得分:0)
需要覆盖$ locale数字格式。
appRun.$inject = ['$locale'];
function appRun ($locale) {
$locale.NUMBER_FORMATS.PATTERNS[1].posPre = '$';
}
答案 1 :(得分: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="angular.js@*" 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>