我有一个如下所示的输入。您可以看到它将 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();
}
显示如下:
你能告诉我如何解决这个问题吗?或者如何使用没有千位分隔符的 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/