J'ai un problème avec le calcul d'une somme en tapuscrit où j'ai 2 nombres concaténés au lieu de tous les additionner. Je l'ai regardé cette question et nous avons vu plusieurs sujets couvrant ce problème où la solution était habituellement comme ceci:Séquences matricielles à la place de la concaténation
« utiliser ParseInt()
ou ParseFloat()
pour convertir vos chaînes en nombres entiers »
Le problème est que je ne avoir des chaînes et même si j'utilise des numéros qu'ils concaténent encore.
Mon code est le suivant:
updateSummaryAmount(index: number){
let summary = 0;
this.listOfPeriods[index].declarations.forEach(element => {
summary = summary + element.amount;
});
this.listOfPeriods[index].summary = summary;
}
Si je résume
0,55
Et
0,45
Je reçois
00,550,45
Lorsque je tente d'utiliser parseInt() ou parseFloat (0 je reçois l'erreur tapuscrit suivante:
[ts} Argument of type 'number' is not assignable to parameter of type 'string'.
J'ai essayé de résumer avec Math.floor()
, juste pour tester, et cela fonctionne, mais me donne évidemment parqueté des numéros que Je ne veux pas.
Comment puis-je additionner 2 valeurs dans mon cas?
qu'est-ce que 'console.log (typeof element.amount)' vous donner si vous le mettez dans la boucle foreach? – simne7
Désolé de répéter l'évidence, mais si ce que vous dites est vrai, vous avez affaire à des cordes. Veuillez fournir un [mcve] pour illustrer le problème et inclure un exemple de ce qui se trouve dans 'this.listOfPeriods [index] .declarations'. Vous pouvez 'consol.log 'il inclure le résultat dans votre question – Jamiec
et dites-nous quel argument vous donnez sur parseFloat() (parseInt() n'est pas adapté ici) – Pac0