Javascript 角度模板文字:将字符串转换为数字后的加法变成串联

Javascript 角度模板文字:将字符串转换为数字后的加法变成串联,javascript,angular,angular2-template,Javascript,Angular,Angular2 Template,我正在开发一个基于Angular 4的计费应用程序。我不得不改变我应用的逻辑。但当我做出改变时,一切都被打破了。我深入研究了一下,发现在模板中将字符串转换为整数后的加法变成了串联 这是在普通JavaScript中 100 + +"28" 将是128 console.log(100++“28”)我只能假设 i.gst是数据中的字符串,这意味着您需要控制器/组件上的附加方法将其转换为整数或浮点 我已经使用了您的plunker并添加了一个数据属性和相应的转换方法 //our root app c

我正在开发一个基于Angular 4的计费应用程序。我不得不改变我应用的逻辑。但当我做出改变时,一切都被打破了。我深入研究了一下,发现在模板中将字符串转换为整数后的加法变成了串联

这是在普通JavaScript中

100 + +"28" 
将是
128


console.log(100++“28”)我只能假设

i.gst
是数据中的字符串,这意味着您需要控制器/组件上的附加方法将其转换为整数或浮点

我已经使用了您的plunker并添加了一个数据属性和相应的转换方法

//our root app component
import {Component, NgModule, VERSION} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'

@Component({
  selector: 'my-app',
  template: `
    <div>
      <h2 *ngFor="let i of data">Hello {{100+getNumber(i.gst)}}</h2>
      <h2>Hello {{100+ (+"28")}}</h2>
      <h2>Hello {{(100+ (+"28"))}}</h2>
    </div>
  `,
})
export class App {
  name:string;

  constructor() {
    this.name = `Angular! v${VERSION.full}`
  }

  // data array
  data = [
    {gst: "28"},
    {gst: "32"}
  ];

  // method to convert string to float
  getNumber(string) {
    return parseFloat(string);
  }
}

@NgModule({
  imports: [ BrowserModule ],
  declarations: [ App ],
  bootstrap: [ App ]
})
export class AppModule {}
//我们的根应用程序组件
从“@angular/core”导入{Component,NgModule,VERSION}
从“@angular/platform browser”导入{BrowserModule}
@组成部分({
选择器:“我的应用程序”,
模板:`
你好{{100+getNumber(i.gst)}
你好{{100+(++“28”)}
你好{(100+(++“28”)}
`,
})
导出类应用程序{
名称:字符串;
构造函数(){
this.name=`Angular!v${VERSION.full}`
}
//数据阵列
数据=[
{gst:“28”},
{gst:“32”}
];
//方法将字符串转换为浮点
getNumber(字符串){
返回parseFloat(字符串);
}
}
@NGD模块({
导入:[BrowserModule],
声明:[App],
引导:[应用程序]
})
导出类AppModule{}

谢谢,戴尔,它正在工作。我已经尝试了parseInt内联,即
{{parseInt(I.gst)}}
,但它产生了错误_co.parseInt不是一个函数。但是一个专门的功能完成了这项工作。谢谢你的回答