Arc*_*rma 11 javascript angularjs
我需要显示这些货币格式,我们如何显示.
?1
?10
?100
?1,000
?10,000
?1,00,000
......
Run Code Online (Sandbox Code Playgroud)
cod*_*.sj 15
与美国货币相比,印度卢比采用不同的格式; 因此,请勿使用默认角度货币过滤器来设置印度卢比的格式
自定义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;
}
}
});Run Code Online (Sandbox Code Playgroud)
<!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>Run Code Online (Sandbox Code Playgroud)
小智 14
在HTML中
{{ currency_expression | currency : symbol : fractionSize}}
Run Code Online (Sandbox Code Playgroud)
例如
{{amount | currency:"?":0}}
Run Code Online (Sandbox Code Playgroud)
你也可以使用 https://docs.angularjs.org/api/ng/filter/currency
只需在货币过滤器中使用INR
{{product.product_cost | currency:'INR':true}}
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方式制作过滤器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});
}
};
});
Run Code Online (Sandbox Code Playgroud)
用法:
{{ rent | IndianCurrency }}
Run Code Online (Sandbox Code Playgroud)
如果任何人在角度 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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在 app.module.ts 中声明
declarations: [
.....,
IndianCurrency
],
Run Code Online (Sandbox Code Playgroud)
2.在你的html中使用
{{amount | indianCurrency}}
Run Code Online (Sandbox Code Playgroud)
印度货币短,如果您想要像\xe2\x82\xb9 250万,\xe2\x82\xb9 3 Cr,\xe2\x82\xb9120万等货币视图,然后使用下面的管道。\n它会起作用
\n\nimport { Pipe, PipeTransform } from \'@angular/core\';\n\n@Pipe({\n name: \'pricePipe\'\n})\nexport class PricePipePipe implements PipeTransform {\n\n transform(value: number, args: string[]): any {\n\n if (! isNaN(value)) {\n var currencySymbol = \'\xe2\x82\xb9\';\n if (value == null) {\n return \'\';\n }\n var InrRSOut = value;\n InrRSOut = Math.round(InrRSOut);\n var RV = "";\n if (InrRSOut > 0 && InrRSOut < 1000) {\n RV = InrRSOut.toString();\n }\n else if (InrRSOut >= 1000 && InrRSOut < 10000) {\n RV = InrRSOut.toString();\n }\n else if (InrRSOut >= 10000 && InrRSOut < 100000) {\n var f1 = InrRSOut.toString().substring(0, 2);\n var f2 = InrRSOut.toString().substring(2, 5);\n RV = f1 + "," + f2;\n\n }\n else if (InrRSOut >= 100000 && InrRSOut < 1000000) {\n var f1 = InrRSOut.toString().substring(0, 1);\n var f2 = InrRSOut.toString().substring(1, 3);\n if (f2 == "00") {\n RV = f1 + " Lacs";\n }\n else {\n RV = f1 + "." + f2 + " Lacs";\n }\n }\n else if (InrRSOut >= 1000000 && InrRSOut < 10000000) {\n var f1 = InrRSOut.toString().substring(0, 2);\n var f2 = InrRSOut.toString().substring(2, 4);\n if (f2 == "00") {\n RV = f1 + " Lacs";\n }\n else {\n RV = f1 + "." + f2 + " Lacs";\n }\n }\n else if (InrRSOut >= 10000000 && InrRSOut < 100000000) {\n var f1 = InrRSOut.toString().substring(0, 1);\n var f2 = InrRSOut.toString().substring(1, 3);\n if (f2 == "00") {\n RV = f1 + " Cr";\n }\n else {\n RV = f1 + "." + f2 + " Cr";\n }\n }\n else if (InrRSOut >= 100000000 && InrRSOut < 1000000000) {\n var f1 = InrRSOut.toString().substring(0, 2);\n var f2 = InrRSOut.toString().substring(2, 4);\n if (f2 == "00") {\n RV = f1 + " Cr";\n }\n else {\n RV = f1 + "." + f2 + " Cr";\n }\n }\n else if (InrRSOut >= 1000000000 && InrRSOut < 10000000000) {\n var f1 = InrRSOut.toString().substring(0, 3);\n var f2 = InrRSOut.toString().substring(3, 5);\n if (f2 == "00") {\n RV = f1 + " Cr";\n }\n else {\n RV = f1 + "." + f2 + " Cr";\n }\n }\n else if (InrRSOut >= 10000000000) {\n var f1 = InrRSOut.toString().substring(0, 4);\n var f2 = InrRSOut.toString().substring(6, 8);\n if (f2 == "00") {\n RV = f1 + " Cr";\n }\n else {\n RV = f1 + "." + f2 + " Cr";\n }\n }\n else {\n RV = InrRSOut.toString();\n }\n return currencySymbol + RV;\n }\n\n}\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n在 HTML 中使用类似
\n\n{{ 125000000 | pricePipe }}\nRun Code Online (Sandbox Code Playgroud)\n\n输出
\n\n\xe2\x82\xb912.50 Cr\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
24406 次 |
| 最近记录: |