Javascript 如何在js中将“20,54”解析为float?

Javascript 如何在js中将“20,54”解析为float?,javascript,Javascript,我想将类似20,54的字符串转换为类似20.54的浮点,但在本例中,使用parseFloat只返回20: this.Amount = parseFloat(order.Amount); 其中订单。金额为20,54 如何解决这个问题?原因是有效的js浮点格式是带点的数字。若要转换,可以尝试用点替换逗号 this.Amount = parseFloat(order.Amount.replace(',', '.')); 这段代码应该可以解决您的问题 import { Component } fro

我想将类似20,54的字符串转换为类似20.54的浮点,但在本例中,使用parseFloat只返回20:

this.Amount = parseFloat(order.Amount);
其中订单。金额为20,54


如何解决这个问题?

原因是有效的js浮点格式是带点的数字。若要转换,可以尝试用点替换逗号

this.Amount = parseFloat(order.Amount.replace(',', '.'));

这段代码应该可以解决您的问题

import { Component } from '@angular/core';

@Component({
  selector: 'my-app',
  template: `
  <h1>the number is : {{amount}}</h1>
  <button (click)="convert2Float()"> Click to Float</button>`,
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  amount: string|number = '20,54';

  convert2Float() {
    this.amount = parseFloat(this.amount.replace(',','.'))
  }

}

首先,为什么要将金额值存储为字符串?无论如何,问题不在于角度。