CurrencyPipe EUR

Problème sur la mise en forme

ache a marqué ce sujet comme résolu.

Bonjour,

J’espère que mon poste aidera plus d’un :D . Je rencontre un problème avec Angular6, je n’arrive pas à avoir une mise en forme comme ceci : 10,04 €, actuellement ça fait plutôt €10,04.

D’après la documentation CurrencyPipe il faut mettre :

currency:'EUR':'symbol':'4.2-2':'fr'

Mais je rencontre cette erreur qui s’affiche dans la console de mon navigateur internet :

Missing locale data for the locale "fr".

Donc je cherche sur internet, et je tombe sur ça : https://angular.io/guide/i18n#setting-up-the-locale-of-your-app

import { LOCALE_ID, NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent } from '../src/app/app.component';

@NgModule({
  imports: [ BrowserModule ],
  declarations: [ AppComponent ],
  providers: [ { provide: LOCALE_ID, useValue: 'fr' } ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

Je fais la même chose mais ça ne change rien au problème.

De plus si je fais ça :

ng serve --configuration=fr

J’ai cette erreur :

Configuration 'fr' could not be found in project 'test-app'.
Error: Configuration 'fr' could not be found in project 'test-app'.
    at Architect.getBuilderConfiguration (/private/tmp/test-app/node_modules/@angular-devkit/architect/src/architect.js:106:23)
    at MergeMapSubscriber._loadWorkspaceAndArchitect.pipe.operators_1.concatMap [as project] (/private/tmp/test-app/node_modules/@angular/cli/models/architect-command.js:70:55)
    at MergeMapSubscriber._tryNext (/private/tmp/test-app/node_modules/rxjs/internal/operators/mergeMap.js:65:27)
    at MergeMapSubscriber._next (/private/tmp/test-app/node_modules/rxjs/internal/operators/mergeMap.js:55:18)
    at MergeMapSubscriber.Subscriber.next (/private/tmp/test-app/node_modules/rxjs/internal/Subscriber.js:64:18)
    at TapSubscriber._next (/private/tmp/test-app/node_modules/rxjs/internal/operators/tap.js:62:26)
    at TapSubscriber.Subscriber.next (/private/tmp/test-app/node_modules/rxjs/internal/Subscriber.js:64:18)
    at MergeMapSubscriber.notifyNext (/private/tmp/test-app/node_modules/rxjs/internal/operators/mergeMap.js:84:26)
    at InnerSubscriber._next (/private/tmp/test-app/node_modules/rxjs/internal/InnerSubscriber.js:25:21)
    at InnerSubscriber.Subscriber.next (/private/tmp/test-app/node_modules/rxjs/internal/Subscriber.js:64:18)
+0 -0

Salut,

Depuis la version 5 ou 6, la gestion des locales a été rapatriée dans Angular (avant, c’était l’API Intl des navigateurs qui s’en occupait). Donc pour ne pas augmenter la taille des applications inutilement, il est désormais nécessaire d’importer les locales nécessaires avant de les utiliser.

Cela se fait comme décrit dans la documentation officielle : https://angular.io/guide/i18n#i18n-pipes

Aussi, ta ligne de commande avec —configuration=fr ne sert à rien.

+0 -0

J’ai réussi !

Il faut mettre :

import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';

registerLocaleData(localeFr, 'fr');

Mais aussi ça :

providers: [{provide: LOCALE_ID, useValue: 'fr' }],

Car j’ai test l’un puis l’autre mais jamais les deux…

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte