如何使用Javascript和Angular显示货币符号
How to display currency symbol using Javascript and Angular
我正在学习Angular,在显示货币符号时遇到问题。
我从一个api调用我的数据,该api返回一个格式化的条目,如下所示:
"currency_formatted": "£20 Million"
在角度中,当我填充格式化字段:{{currency_formated}}时,它输出:
£20 Million
我所期望的是:2000万英镑
我可以在api中返回货币符号,所以:GBP,有没有一种方法可以使用它来获得正确格式的货币,而不是传递十六进制?
任何想法都将不胜感激!
十六进制是一个HTML编码的值。您可以使用ng-bind-html
指令进行HTML解码,例如:
<span ng-bind-html="amount"></span>
需要对其进行净化以防止漏洞利用。为此,您需要添加对'ngSanitize'
的依赖项,或者使用$sce
将其作为HTML:信任
$scope.amount = $sce.trustAsHtml("£20 Million");
===
然而,如果您可以将您的金额结构为名义价值和货币符号:
$scope.amount = {value: 20000000, symbol: '£'};
那么你可以使用currency
过滤器来显示金额:
<span>{{amount.value | currency: amount.symbol:0}}</span>
这将显示"£20,000,000"
,而不是"£20 Million"
(因此,可能不是您需要的)
AngularJS
利用filter指令,您可以在HTML中包含以下内容:
<div>
<span>{{ amount | currency : '£' }}</span>
</div>
我在一位朋友的帮助下,通过上面New Dev的回答,发现了这一点。这就是我所做的:
在我的HTML:中
<span ng-bind-html="currency_formatted | safeHtml"></span>
然后在我的应用程序中,我写了一个自定义过滤器:
//Filter to use html from the api
app.filter('safeHtml', function($sce) {
return function(unsafeHtml) {
console.log(unsafeHtml);
return $sce.trustAsHtml(unsafeHtml);
}
})
现在,这将返回要插入到页面中的html。
之前发生的事情是Angular对结果进行了消毒,并逃离了&签名…
希望这能帮助到别人!
您可以使用toLocaleString
制作一个过滤器,如:
数字(数据).toLocaleString('en',{style:'currency',currency:'EUR',maximumFractionDigits:0})
过滤器示例:
.filter('EuroCurrency', function() {
return function(data) {
if (null != data) {
return Number(data).toLocaleString('en', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0});
} else {
return Number(0).toLocaleString('en', { style: 'currency',currency: 'EUR', maximumFractionDigits: 0});
}
};
});
用法:
{{ rent | EuroCurrency }}
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 浏览器intl.NumberFormat未正确显示货币符号
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- 通过javascript在文本字段中显示货币格式
- 如何使用Javascript和Angular显示货币符号
- 货币符号不't在javascript中正确显示
- 以美元货币格式显示输入字段
- 如何在引导插件中以货币格式显示输入字段中的数字
- 使用JavaScript在asp.net文本框中显示货币符号($)
- 如何将MDN Decimal舍入示例修改为总是(即使它们都是零)显示小数位数以表示货币
- 以美元货币显示JSON值(前置$Dollar符号)
- 如何在括号中显示负货币
- 如何在带货币符号的括号中显示负货币