Typescript 数组求和而不是串联

Nie*_*man 0 javascript loops sum concatenation typescript

我在计算打字稿中的总和时遇到问题,其中我有两个数字连接而不是全部求和。我查过这个问题,看到了几个涉及这个问题的主题,其中解决方案通常是这样的:

“使用ParseInt()orParseFloat()将字符串转换为整数”

问题是我没有字符串,即使我使用数字,它们仍然连接。

我的代码如下:

     updateSummaryAmount(index: number){
        let summary = 0;

        this.listOfPeriods[index].declarations.forEach(element => {
            summary = summary + element.amount;
        });

        this.listOfPeriods[index].summary = summary;
    }
Run Code Online (Sandbox Code Playgroud)

如果我求和

0,55
Run Code Online (Sandbox Code Playgroud)

和

0,45
Run Code Online (Sandbox Code Playgroud)

我明白了

00,550,45
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 parseInt() 或 parseFloat(0 时,出现以下打字稿错误:

[ts} Argument of type 'number'  is not assignable to parameter of type 'string'.
Run Code Online (Sandbox Code Playgroud)

我尝试用 求和Math.floor(),只是为了测试,这有效,但显然给了我我不想要的数字。

在我的案例中,如何总结 2 个值?

Avi*_*hum 5

尝试下面强制更改 element.amount 为数字

this.listOfPeriods[index].declarations.forEach(element => {
  summary = summary + (+element.amount);
});
Run Code Online (Sandbox Code Playgroud)

  • @NiekJonkman `1.5` *是* `1.50`。您询问如何格式化要显示的数字,这是一个不同的问题(已经重复回答过) (6认同)