最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

从字符串删除货币符号,并使用在Javascript单行转换成数字

IT培训 admin 4浏览 0评论

从字符串删除货币符号,并使用在Javascript单行转换成数字

下面我有一个字符串是£一个价格,我想删除的货币符号,然后转换为数字/价格这个我可以用它来比较对另一值(例如,X> = Y ...)

£14.50

我以前转换字符串用于货币与数字

var priceNum = parseFloat(price);

理想的结果

14.50为一个数字值。这可以在一个单一的线来完成?

回答如下:

如果货币符号总是存在的,只是使用substring

var priceNum = parseFloat(price.substring(1));

如果可能会或可能不会在那里,你可以使用replace将其删除:

var priceNum = parseFloat(price.replace(/£/g, ""));

要注意的是parseFloat("")0。如果你不想0一个空输入字符串,你需要处理的。 This answer具有的各种方式破败将字符串转换为JavaScript中的数字,他们在各种情况下做什么。

附注:使用JavaScript的标准编号为货币信息一般不最好的做法,因为如果事情像经典0.1 + 0.2问题(结果是0.30000000000000004,不0.3)。有各种库,帮助和BigInt是来的JavaScript,以及(这是在目前阶段3建议,目前正在发售中的Chrome)。 BigInt是有用的,因为你可以用你的基本货币的倍数(例如,* 100成英镑和便士)。

从字符串删除货币符号,并使用在Javascript单行转换成数字

下面我有一个字符串是£一个价格,我想删除的货币符号,然后转换为数字/价格这个我可以用它来比较对另一值(例如,X> = Y ...)

£14.50

我以前转换字符串用于货币与数字

var priceNum = parseFloat(price);

理想的结果

14.50为一个数字值。这可以在一个单一的线来完成?

回答如下:

如果货币符号总是存在的,只是使用substring

var priceNum = parseFloat(price.substring(1));

如果可能会或可能不会在那里,你可以使用replace将其删除:

var priceNum = parseFloat(price.replace(/£/g, ""));

要注意的是parseFloat("")0。如果你不想0一个空输入字符串,你需要处理的。 This answer具有的各种方式破败将字符串转换为JavaScript中的数字,他们在各种情况下做什么。

附注:使用JavaScript的标准编号为货币信息一般不最好的做法,因为如果事情像经典0.1 + 0.2问题(结果是0.30000000000000004,不0.3)。有各种库,帮助和BigInt是来的JavaScript,以及(这是在目前阶段3建议,目前正在发售中的Chrome)。 BigInt是有用的,因为你可以用你的基本货币的倍数(例如,* 100成英镑和便士)。

发布评论

评论列表 (0)

  1. 暂无评论