javascript - 字符串到数字的转换不起作用

标签 javascript angular typescript ionic3

我有一个如下所示的输入。您可以看到它将 budget numeric 属性转换为千个分隔符(例如 1,000)。

<ion-input [ngModel]="project.budget | thousandsSeparatorPipe" 
(ngModelChange)="project.budget=$event;calculateContingency()" 
    formControlName="budget" type="text"></ion-input>

这里不起作用:

calculateContingency(eve:any) {
   this.project.contingency = ((Number(this.project.budget) * this.project.contingencyPercentage) * 1 / 100);
    this.changeDetectorRef.detectChanges();
  }

显示如下:

enter image description here

你能告诉我如何解决这个问题吗?或者如何使用没有千位分隔符的 budget 模型?如果我能得到,那么我可以将其发送到上面的计算方法。

最佳答案

使用 parseFloat 和正则表达式来替换逗号,

 this.project.contingency = ((parseFloat(this.project.budget.replace(/,/g, '')) * this.project.contingencyPercentage) * 1 / 100);

演示

var budget = '1,000';
var buget2 = 1000;
var contigency =  parseFloat(budget.replace(/,/g, '')) + buget2;
console.log(contigency);
  

关于javascript - 字符串到数字的转换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46141071/

相关文章:

javascript - 在 JavaScript 中定义变量

javascript - this.<servicename> 在 Angular2 的错误函数内部不可用

asp.net - No NgModule metadata found for 'AppModule' Error in Angular 5 server-side rendering with --env.prod

angular - 尽管请求处理成功,但从发布请求中获得空响应

typescript - 如何为 TypeScript 配置 VSCode Intellisense 以仅显示属性?

javascript - 在 Node.js Web 应用程序中使用用户名和密码在 Azure AD 上进行身份验证

javascript - 使用返回对象指令检查用户名

angular - http.get 与 Angular 中的 http.request

javascript - 表单的样式组件

javascript - 如何从 Angular 4中的JSON文件获取json数据