javascript - angular.js - 用西类牙语包装货币符号和小数

标签 javascript angularjs currency

你能用 Angular 做这样的事情吗?

enter image description here

这不太可能,因为不解析标签或其他东西

{{ 10000 | currency:"<span>$</span>" }}

http://plnkr.co/edit/WluYoe2Ltmhmhvr8BBWX?p=preview

更不用说以某种方式分隔十进制数了..

理想的结果是

1 000 000<span class="dec">,00</span><span class="cur">€</span>

实际上不可能对任何过滤器设置进行操作,是吗..?

我可以尝试修改 Angular 的货币过滤器和 formatNumber函数,但它仍然会将其作为文本而不是 span 元素。

//编辑 你真的可以做到这一点http://plnkr.co/edit/dcEhHi8sp43564ZvC4D1?p=preview

<p ng-bind-html-unsafe="10000 | currency:'<span>$</span>'"></p>

虽然对小数还是一窍不通

最佳答案

您可以创建自定义过滤器

app.filter('euro', function () {
    return function (text) {
        text = text.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1 ");
        var t = text + '<span class="desc">,00</span><span class="cur">€</span>';
        return t;
    };
});

<span ng-bind-html-unsafe="1000000 | euro"></span>

结果会是

1 000 000,00€

Working Demo

(正则表达式由@Paul Creasey 在他的回答https://stackoverflow.com/a/1990554/304319 中发布)

关于javascript - angular.js - 用西类牙语包装货币符号和小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18767262/

相关文章:

c# - 货币格式 C# ISOCurrencySymbol

javascript - Three.js 多边形/多面体名称或标题

javascript - 移动网络应用程序 JS 的屏幕锁定方向

javascript - angularjs根据其他下拉列表中的选定值过滤下拉列表

javascript - js代码获取动态生成的div ID

angularjs - 如何将 Google 的隐形验证码与 AngularJs 一起使用?

language-agnostic - 内容本地化领域最佳实践

javascript - 在 CRM 2011 中更改表单上的货币时更改货币字段的符号

javascript - Phonegap/Cordova 代码在构建时不断重置

javascript - Vue3 + FabricJS - 在选择多个对象之前,无法调整/编辑使用 react 变量创建的对象