1
votes

analyser la chaîne numérique à partir du tube angulaire "nombre" (l10n)

Je formate les nombres avec le tube angulaire "nombre". Afin de travailler avec eux, ils doivent redevenir flottants. Mais quelle est la contrepartie du tube angulaire "nombre"?

Voici le code de mon modèle:

<input type="text" [ngModel]="floatValue | number:'3.1-4':'de'" (ngModelChange)="floatValueChange($event)">

L'événement "ngModelChange" renvoie malheureusement la chaîne formatée. p>

Comment pouvez-vous analyser des chaînes de nombres pour flotter dans Angular 8?


0 commentaires

3 Réponses :


0
votes

Vous pouvez facilement convertir votre chaîne en un nombre.

floatValueChange(floatnumber) {
  console.log('Add 1' + (+floatnumber +1));
}

REMARQUE: JS n'a pas de concept de float , double code >, int.


4 commentaires

une chaîne numérique avec l'opérateur plus renvoie NaN


À quoi ressemble la chaîne de nombres? Qu'est-ce que tu essaies? + "12.34" +3 ==> 15.34 ceci que vous pourriez facilement tester sur la console. Ou vous voulez dire eval ('3.1-4') ?


Chaînes de numéros l10n: '1,234,56' pour EN ou '9.876,54' pour l'Allemagne


le tube numéro calcule la chaîne



0
votes

La solution à mes besoins fonctionne avec angular-l10n .

L'entrée element:

<input #quantity type="text" (keyup.enter)="updateQuantity(quantity.value)"
             value="{{productQuantity}}" l10nDecimal digits="1.2-5">

angular-l10n utilise une locale globale pour la localisation comme le format numérique et l'analyse. C'est ce que je voulais à la fin.


0 commentaires

0
votes

J'ai eu un problème ici pour additionner un nombre et une valeur de devise masquée / texte. J'ai résolu de créer un Pipe et de l'utiliser partout où j'en ai besoin dans mon système.

{{ attr.text | toNumber }}

Dans le HTML

import { Pipe, PipeTransform } from '@angular/core';
 @Pipe({
     // tslint:disable-next-line:pipe-naming
     name: 'toNumber',
     pure: false }) export class ToNumberPipe implements PipeTransform { 
     public transform(items: any): any {
         if (!items) {
             return 0;
         }
         return parseInt(items, 10);
     } }

N'oubliez pas de déclarer ce Pipe accessible lorsque vous en avez besoin dans le fichier modules.ts.


0 commentaires