从字符串中删除货币符号,并在javascript中使用单行将其转换为数字

zd287kbt  于 2021-09-13  发布在  Java
关注(0)|答案(2)|浏览(337)

我下面有一个字符串,它是%中的价格,我想删除货币符号,然后将其转换为一个数字/价格,我可以用它与另一个值进行比较(例如x>=y…) £14.50 我以前曾将字符串转换为用于使用的货币的数字 var priceNum = parseFloat(price); 理想结果 14.50 作为一个数值。这可以在一行中完成吗?

tzcvj98z

tzcvj98z1#

如果货币符号始终存在,只需使用 substring :

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

如果它可能在那里,也可能不在那里,你可以使用 replace 要删除它,请执行以下操作:

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

当心 parseFloat("")0 . 如果你不想 0 对于空输入字符串,您需要处理它。这个答案简要介绍了在javascript中将字符串转换为数字的各种方法,以及它们在各种情况下的作用。
旁注:使用javascript的标准数字作为货币信息通常不是最佳实践,因为 0.1 + 0.2 问题(结果是 0.300000000000000040.3 ). 有各种各样的库可以提供帮助,而且 BigInt javascript(目前是第3阶段的提案,目前正在chrome中发布)。 BigInt 非常有用,因为您可以使用基本货币的倍数(例如, * 100 英镑和便士)。

x6492ojm

x6492ojm2#

我觉得这很有帮助

var currency = "-$4,400.50";
var number = Number(currency.replace(/[^0-9\.-]+/g,""));

将(货币)字符串转换为浮动

相关问题