首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >INR货币格式

INR货币格式
EN

Stack Overflow用户
提问于 2016-02-24 09:56:29
回答 17查看 44.4K关注 0票数 18

我需要显示像这样的货币格式,我们怎么能显示。

代码语言:javascript
运行
复制
₹1
₹10
₹100
₹1,000
₹10,000
₹1,00,000
......
EN

回答 17

Stack Overflow用户

发布于 2016-02-24 10:34:29

印度卢比采用与美国货币不同的格式;因此,不要使用默认的角货币过滤器来格式化印度卢比

自定义INR货币过滤器

代码语言:javascript
运行
复制
var app = angular.module('app', []);

app.controller('indexCtrl', function ($scope) {
    $scope.amount = 10000000.33;
});

app.filter('INR', function () {        
    return function (input) {
        if (! isNaN(input)) {
            var currencySymbol = '₹';
            //var output = Number(input).toLocaleString('en-IN');   <-- This method is not working fine in all browsers!           
            var result = input.toString().split('.');

            var lastThree = result[0].substring(result[0].length - 3);
            var otherNumbers = result[0].substring(0, result[0].length - 3);
            if (otherNumbers != '')
                lastThree = ',' + lastThree;
            var output = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;
            
            if (result.length > 1) {
                output += "." + result[1];
            }            

            return currencySymbol + output;
        }
    }
});
代码语言:javascript
运行
复制
<!DOCTYPE html>
<html ng-app="app">
<head>    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body ng-controller="indexCtrl">
    Input: <input type="text" ng-model="amount">
    <h3>{{amount | INR}}</h3>
</body>
</html>

票数 15
EN

Stack Overflow用户

发布于 2017-07-31 10:02:42

只需在货币过滤器中使用INR

代码语言:javascript
运行
复制
{{product.product_cost | currency:'INR':true}}
票数 8
EN

Stack Overflow用户

发布于 2017-07-11 06:35:48

如果有人在“角2”中寻找相同的信息,那么下面是解决方案:

  1. 创建自定义管道
  2. 在HTML管道代码中使用

步骤1:创建文件indianCurrency.pipe.ts

代码语言:javascript
运行
复制
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({name: 'indianCurrency'})
export class IndianCurrency implements PipeTransform {
  transform(value: number, args: string[]): any {
     
        if (! isNaN(value)) {
            var currencySymbol = '₹';
            //var output = Number(input).toLocaleString('en-IN');   <-- This method is not working fine in all browsers!           
            var result = value.toString().split('.');

            var lastThree = result[0].substring(result[0].length - 3);
            var otherNumbers = result[0].substring(0, result[0].length - 3);
            if (otherNumbers != '')
                lastThree = ',' + lastThree;
            var output = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;
            
            if (result.length > 1) {
                output += "." + result[1];
            }            

            return currencySymbol + output;
        }
     
  }
}

在app.module.ts中声明

代码语言:javascript
运行
复制
 declarations: [
  .....,
    IndianCurrency
  ],

步骤2:在HTML中使用

代码语言:javascript
运行
复制
{{amount | indianCurrency}}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35598765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档