2016-02-24 274 views
9

我需要顯示這些貨幣格式,我們如何顯示。INR貨幣格式

₹1 
₹10 
₹100 
₹1,000 
₹10,000 
₹1,00,000 
...... 
+1

你有任何現有的代碼? –

+0

注意:印度盧比遵循不同的格式(尤其是指定數字之間的逗號)。解決方案,您接受的是在美元格式貨幣值之前附加'Ô'符號。 –

+0

@代碼忍者..你有任何解決方案或建議? – Prasad

回答

8

在HTML

{{ currency_expression | currency : symbol : fractionSize}} 

例如

{{amount | currency:"₹":0}} 

你也可以reffer https://docs.angularjs.org/api/ng/filter/currency

+0

這不代表按照印度貨幣標準的逗號。它只是從數字中刪除部分。 –

+0

@NiralMunjariya它確實:),你是怎麼測試:O –

+0

看看http://jsfiddle.net/tujurybf/ –

1

試試這個

var x=1000; 
x=x.toString(); 
var lastThree = x.substring(x.length-3); 
var otherNumbers = x.substring(0,x.length-3); 
if(otherNumbers != '') 
    lastThree = ',' + lastThree; 
var res = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree; 

alert(res); 
-1

在棱角分明,像這樣創建

myApp.filter('ic', function() 
{ 
    return function(value) 
    { 
     return '₹ ' + value; 
    } 
}); 

自定義過濾器,然後你可以{{data|number|ic}}

13

印度盧比如下不同的格式比較美國貨幣;所以,不要使用默認的角度貨幣過濾器進行格式化印度盧比

自INR貨幣過濾

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; 
 
     } 
 
    } 
 
});
<!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>

+0

如何申請輸入類型=「文本」 – Sharath

+0

這應該被標記爲答案,因爲它實際上給出了問題。 –

4

您可以用toLocaleString就像一個過濾器:

Number(data).toLocaleString('en-IN', { style: 'currency', currency: 'INR', maximumFractionDigits: 0})

過濾器示例:

.filter('IndianCurrency', function() { 
    return function(data) { 
     if (null != data) { 
      return Number(data).toLocaleString('en-IN', { style: 'currency', currency: 'INR', maximumFractionDigits: 0}); 
     } else { 
      return Number(0).toLocaleString('en-IN', { style: 'currency',currency: 'INR', maximumFractionDigits: 0}); 
     } 
    }; 
}); 

用法:

{{ rent | IndianCurrency }} 
2

要打印盧比符號(),嘗試這樣的:

{{price | currency:"&#8377;"}} 

更多的格式,請參閱this

+0

它也關於格式化....所以下來投票 – vijay

+0

@vijay,我無法得到你?你能解釋一下嗎? –

+0

這個問題包括2個問題。第1個:符號第2個:格式化。更多信息請看@codeninja。sj回答它包括 – vijay

0

只需添加貨幣這樣的過濾器。

{{object.price | currency:"INR":true}} 
0

您可以使用此:{{amount:| currency:"₹"}}或者您可以使用十六進制代碼"₹"

輸入:{{3*100000000 | currency:"₹"}}

輸出:₹300,000,000.00

0
  1. 過去三年之前獲取的數字。
  2. 更換的數字,其餘與prefix.replace(/\B(?=(?:\d{2})+(?!\d))/g, ",")
  3. 結合上面的部分這一修正的前綴

完全解釋爲什麼這正則表達式在正確的地方放置逗號被提到here

1

如果任何一個在尋找角2那麼這裏同樣是解決方案, 1,創建自定義的管道 2.使用在你的HTML代碼管

1,創建自定義的管道。

創建文件indianCurrency.pipe.ts

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

declarations: [ 
    ....., 
    IndianCurrency 
    ], 

2.使用在你的HTML

{{amount | indianCurrency}} 
2

只需使用INR貨幣過濾器

{{product.product_cost | currency:'INR':true}} 
0

對於小數點後兩位數字顯示量...

試試這個:

var num=1234.567; 
var ans= num.toLocaleString('en-IN',{ style: 'currency', currency: "INR",minimumFractionDigits:2,maximumFractionDigits:2 }); 

//output 
//₹ 1,234.57