각도 Js 통화, 기호 유로 이후
어떻게 유로 기호를 값의 앞부분에서 그 뒤로 이동시킬 수 있을까요?
예:
{{product.price | currency : "€"}}
낳다€ 12.00
★★★★★★★★★★★★★★★★★★★★★★.12.00 €
통화 필터를 해킹할 필요 없어요!
AngularJS는 i18n/l10n을 크게 지원합니다.통화 필터는 로케일 서비스의 기본 통화 기호를 사용하여 로케일 설정에 따라 배치합니다.
따라서 적절한 로케일을 지원하고 설정하는 것이 중요합니다.
<script src="i18n/angular-locale_de-de.js"></script>
「 」를 사용하고 npm
★★★★★★★★★★★★★★★★★」bower
" "를 통해 할 수 있습니다.angular-i18n
패키지.
<span>{{ product.price | currency }}</span>
이제 다음 출력이 생성됩니다.
65,95 €
여러 현지화 지원
여러 현지화를 지원하는 경우 통화 기호는 사용된 로케일의 기본 통화로 변경되므로 주의해야 합니다. ★★★★★★★★★★★★★★★★★.65,95 €
$65,95
통화 기호를 매개 안전을 위해 통화 기호를 매개 변수로 제공하십시오.
<span>{{ product.price | currency:'€' }}</span>
»de-de
「」입니다.65,95 €
을 사용하다 en-us
it it it it it it it it it it it it 。€65.95
(다른 표현에도 불구하고 영어로 유로화 가격을 표시하는 올바른 형식이다.)
angular 및 i18n/l10n에 대한 자세한 내용은 개발자 가이드를 참조하십시오.
통화 필터로는 할 수 없습니다.직접 쓰거나 숫자 필터를 사용할 수 있습니다.
{{(produce.price | number:2) + "€"}}
이 수법을 써라.
<div>{{product.price | currency : '' }} €</div>
제안된 해결책들은 모두 지저분하다.
처음에 필터는 기호를 매개 변수로 추가하여 변경 기호를 허용합니다.
{{product.price | currency : "€"}}
그러나 올바른 방법은 @Andreas가 제안하는 대로 앱을 현지화하는 것입니다.예를 들어 앱 내에서 이탈리아 로케일 설정(it-it)을 사용하여 앱을 현지화하는 경우 필터를 호출하면 € 기호를 얻을 수 있습니다.
{{product.price | currency }}
이탈리아 로케일 설정에서는 통화 값 앞에 유로 기호를 붙입니다.che local 값을 변경할 수도 있고 다음 링크 응답에서 제안된 대로 덮어쓸 수도 있습니다.
로케일 설정을 덮어쓸 수 있습니다.통화 기호(\u00A4)를 플러스 값과 마이너스 값의 접두사 또는 접미사로 사용할 수도 있습니다.
app.config(['$provide', function($provide) {
$provide.decorator('$locale', ['$delegate', function($delegate) {
if($delegate.id == 'it-it') {
$delegate.NUMBER_FORMATS.PATTERNS[1].negPre = '\u00A4\u00a0-';
$delegate.NUMBER_FORMATS.PATTERNS[1].negSuf = '';
$delegate.NUMBER_FORMATS.PATTERNS[1].posPre = '\u00A4\u00a0';
$delegate.NUMBER_FORMATS.PATTERNS[1].posSuf = '';
}
return $delegate;
}]);
}]);
따라서 이 지시 후 필터:
{{product.price | currency}}
다음과 같은 출력이 생성됩니다.
€ 12
Angularjs는 국제화와 현지화를 크게 지원합니다.국제화 및 현지화 적용은 신청 범위에 따라 달라집니다.예를 들어, 어플리케이션이 유로만을 지원하는 경우 유로화의 현지화만 필요하며 모든 통화와 포맷은 필요하지 않습니다.
이러한 상황(위 상황과 유사하다고 가정)에서는 앱 구성을 만들고 일부 데코레이터를 사용하여 필요한 현지화로 로케일을 설정할 수 있습니다.데코레이터 함수는 서비스 생성을 가로채기 때문에 서비스의 동작을 덮어쓰거나 변경할 수 있습니다.
angular
.module('app', [])
.config(['$provide', function($provide) {
$provide.decorator('$locale', ['$delegate', function($delegate) {
$delegate.NUMBER_FORMATS = {
DECIMAL_SEP: '.',
GROUP_SEP: ',',
PATTERNS: [{ // Decimal Pattern
minInt: 1,
minFrac: 0,
maxFrac: 3,
posPre: '',
posSuf: '',
negPre: '-',
negSuf: '',
gSize: 3,
lgSize: 3
}, { //Currency Pattern
minInt: 1,
minFrac: 0,
maxFrac: 1,
posPre: '\u00A4',
posSuf: '',
negPre: '(\u00A4',
negSuf: ')',
gSize: 3,
lgSize: 3
}],
CURRENCY_SYM: '€'
}
return $delegate;
}]);
}])
.controller('appController', ['$scope', function($scope) {
$scope.price = 20.55;
}])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="appController">
Price : {{price | currency}}
</div>
</div>
위의 설정에서는 10진수 및 통화 설정에 대해 가능한 모든 값이 표시됩니다.앱 레벨에서 필요에 따라 변경할 수 있습니다.
응용 프로그램 전체에 영향을 주지 않으려면 지침을 따르는 것이 좋습니다.
꽤 오래된 질문이에요.요즘은 좀 달라요.아마 그때도 그랬을 거야
그래서 만약 다른 사람이 이걸 발견하면..
그러나 통화 필터에 올바른 통화 형식을 가져오려면 올바른 로케일을 포함해야 합니다.
각도 문서를 확인합니다. 예를 들어 네덜란드 통화 형식은 5,00유로이고 영어는 5,00유로, 미국은 5.00유로입니다.
저는 이 솔루션을 프랑스에서 프로젝트(생산 시)에 사용하고 있습니다(항상 5.00€로 표시되어야 하며, €5.00로 표시해서는 안 됩니다).
<span>Price: {{product.price| currency:""}} €</span>
다운투표를 하기 전에 이 투고의 진짜 질문(Angular Js currency, symbol Euro after)을 읽어주세요!!!!!
「 」의 locale
(이 스레드에서 설명했듯이, Angular Js 통화에서, 기호 Euro after)는 가장 올바른 방법처럼 보이지만, 통화 기호나 이름을 원하는 위치에 참조할 수 있는 가치에 비례하여 입력할 수 있는 유연성을 제공하지 못하는 것 같습니다.값 뒤에 통화 기호가 있어야 하는 경우 별도의 통화 기호를 사용할 수 있습니다.product.currency
가격 값 뒤에(또는 그 전에) 보간할 수 있습니다.
만약에 ★★★★★★★★★★★★★★★★★★★★★★★.product.price = 40
★★★★★★★★★★★★★★★★★」product.currency = '€'
를€ 로 표시할 수 .{{product.price}} {{product.currency}}
필드를약 40달러):{{product.currency}} {{product.price}}
도 아마 이 형식을 것 같습니다.product.price
10진수 파이프를 통해 값을 지정합니다(https://angular.io/api/common/DecimalPipe)).- "40.00유로"는 다음과 같습니다.{{product.amount | number:'2.2-2'}} {{product.currency}}
fyi - 이 경우, 저는 아마 다른 필드를 가지고 있을 것입니다.product.currency
★★★★★★★★★★★★★★★★★」product.currencySymbol
""와 는 각각 "USD"와 "$"는 각각 "$"와 같이에 대해 합니다.locale
위의 다른 답변에서 참조한 바와 같이 링크합니다.그러나 Angular에서 기본 파이프를 통해 수행할 수 있는 값과는 다른 위치에 통화 이름 또는 기호를 배치해야 하고 페이지의 기호 또는 이름을 하드 코딩하지 않고 작업 중인 레코드 또는 세트에 고유한 통화를 사용하려는 경우(예:여러 통화를 표시하는 경우)를 동적으로 수행하는 한 가지 방법입니다.
필터를 작성할 수 있습니다.
app.filter('euroFormat', function () {
return function (input) {
return input+' \u20AC';
};
});
를 사용하여 html 코드에 적용합니다.
<span>Price: {{product.price| euroFormat}}</span>
언급URL : https://stackoverflow.com/questions/27547680/angular-js-currency-symbol-euro-after
'programing' 카테고리의 다른 글
redux-thunk 액션을 비동기/비동기화하는 방법 (0) | 2023.04.06 |
---|---|
React Material UI - 여러 고차 (0) | 2023.04.06 |
get_adjacent_post()를 커스텀 투고 유형 간에 동작시킵니다. (0) | 2023.04.01 |
에일리어스별 그룹화(Oracle) (0) | 2023.04.01 |
VSCode에서 환경 변수를 launch.json에 추가하려면 어떻게 해야 합니까? (0) | 2023.04.01 |