删除AngularJS货币过滤器的十进制/分
发布时间:2020-12-17 09:04:34 所属栏目:安全 来源:网络整理
导读:有没有办法从货币过滤器的输出中删除十进制/美分?我正在做这样的事情: div{{Price | currency}}/div 其中输出: $1,000.00 相反,我想: $1,000 可以使用货币过滤器吗?我知道我可以在一个数字前面加一个美元符号,我可以写我自己的过滤器,但我希望一个简
有没有办法从货币过滤器的输出中删除十进制/美分?我正在做这样的事情:
<div>{{Price | currency}}</div> 其中输出:
相反,我想:
可以使用货币过滤器吗?我知道我可以在一个数字前面加一个美元符号,我可以写我自己的过滤器,但我希望一个简单的方法存在与现有的货币过滤器。 谢谢。
更新:版本
1.3.0 – currencyFilter:将fractionSize添加为可选参数,请参阅
commit
并更新 plunker {{10 | currency:undefined:0}} 请注意,这是第二个参数,因此您需要传入未定义以使用当前语言环境货币符号 更新:请注意,这仅适用于在号码前显示的货币符号。 Here是一个修改版本,使用angular的formatNumber副本启用0 fractionSize作为货币。 通常这应该是在区域设置定义或currencyFilter调用,但现在(1.0.4),它硬编码到2个小数位。 自定义过滤器: myModule.filter('noFractionCurrency',[ '$filter','$locale',function(filter,locale) { var currencyFilter = filter('currency'); var formats = locale.NUMBER_FORMATS; return function(amount,currencySymbol) { var value = currencyFilter(amount,currencySymbol); var sep = value.indexOf(formats.DECIMAL_SEP); if(amount >= 0) { return value.substring(0,sep); } return value.substring(0,sep) + ')'; }; } ]); 模板: <div>{{Price | noFractionCurrency}}</div> 例: > Demo 更新:修正处理负值时的错误 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |