从字符串删除货币符号,并使用在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
成英镑和便士)。