我下面有一个字符串,它是%中的价格,我想删除货币符号,然后将其转换为一个数字/价格,我可以用它与另一个值进行比较(例如x>=y…) £14.50 我以前曾将字符串转换为用于使用的货币的数字 var priceNum = parseFloat(price); 理想结果 14.50 作为一个数值。这可以在一行中完成吗?
£14.50
var priceNum = parseFloat(price);
14.50
tzcvj98z1#
如果货币符号始终存在,只需使用 substring :
substring
var priceNum = parseFloat(price.substring(1));
如果它可能在那里,也可能不在那里,你可以使用 replace 要删除它,请执行以下操作:
replace
var priceNum = parseFloat(price.replace(/£/g, ""));
当心 parseFloat("") 是 0 . 如果你不想 0 对于空输入字符串,您需要处理它。这个答案简要介绍了在javascript中将字符串转换为数字的各种方法,以及它们在各种情况下的作用。旁注:使用javascript的标准数字作为货币信息通常不是最佳实践,因为 0.1 + 0.2 问题(结果是 0.30000000000000004 不 0.3 ). 有各种各样的库可以提供帮助,而且 BigInt javascript(目前是第3阶段的提案,目前正在chrome中发布)。 BigInt 非常有用,因为您可以使用基本货币的倍数(例如, * 100 英镑和便士)。
parseFloat("")
0
0.1 + 0.2
0.30000000000000004
0.3
BigInt
* 100
x6492ojm2#
我觉得这很有帮助
var currency = "-$4,400.50"; var number = Number(currency.replace(/[^0-9\.-]+/g,""));
将(货币)字符串转换为浮动
2条答案
按热度按时间tzcvj98z1#
如果货币符号始终存在,只需使用
substring
:如果它可能在那里,也可能不在那里,你可以使用
replace
要删除它,请执行以下操作:当心
parseFloat("")
是0
. 如果你不想0
对于空输入字符串,您需要处理它。这个答案简要介绍了在javascript中将字符串转换为数字的各种方法,以及它们在各种情况下的作用。旁注:使用javascript的标准数字作为货币信息通常不是最佳实践,因为
0.1 + 0.2
问题(结果是0.30000000000000004
不0.3
). 有各种各样的库可以提供帮助,而且BigInt
javascript(目前是第3阶段的提案,目前正在chrome中发布)。BigInt
非常有用,因为您可以使用基本货币的倍数(例如,* 100
英镑和便士)。x6492ojm2#
我觉得这很有帮助
将(货币)字符串转换为浮动