如何将“20,54”解析为 js 中的浮点数? [复制]

Posted

技术标签:

【中文标题】如何将“20,54”解析为 js 中的浮点数? [复制]【英文标题】:How to parse "20,54" as float in js? [duplicate] 【发布时间】:2020-04-06 23:07:01 【问题描述】:

我想将"20,54" 之类的字符串转换为20.54 之类的浮点数,但在此示例中,parseFloat() 仅返回20

this.Amount = parseFloat(order.Amount);

其中order.Amount"20,54"

我该如何解决这个问题?

【问题讨论】:

为什么首先将“金额”值存储为字符串?无论如何,问题不在于角度。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

此代码应该可以解决您的问题。

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(',','.'))
  


Check this stackblitz link

【讨论】:

以上是关于如何将“20,54”解析为 js 中的浮点数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何解析八进制字符串作为Rust中的浮点数?

如何将浮点值附加为字典中的浮点数?

解析为带有 2 位小数的浮点数

如何将列表中的字符串值更改为 Python 中的浮点数

如何将具有十进制值的数字转换为PL / SQL中的浮点数?

使用不同浏览器解析 JavaScript 中的浮点数