0

我已经使用 innerHTML 方法将字符串检索到变量中。字符串是:

£ 125.00
<!-- End: pagecomponent/pricesplit -->

我只想要 125.00 部分。是否可以使用 parseInt() 方法将其转换为整数?或者,我可以做些什么来提取 125.00 部分?

谢谢

4

2 回答 2

3

您可能希望使用正则表达式来删除除数字和句点之外的任何内容,然后parseInt在剩余的字符串上运行:

parseInt(yourString.replace(/[^\d.]/g, ''), 10);

在这里测试正则表达式。这是一个细分:

/.../只是用于包装正则表达式的语法。忽略这些。

[...]创建一个字符类。

^当放置在字符类的开头时,它会否定里面的所有内容。

\d任何数字

.一个字面上的时期。它不需要在字符类内部转义 - 在外部它意味着“任何字符”并且需要转义。

所以/[^\d.]/意思是“匹配任何不是数字或句点的东西”,然后用空字符串替换它。

如果您的号码可能包含小数点后的有效数字,例如125.50,您应该使用parseFloat而不是parseInt

于 2013-01-21T13:29:20.757 回答
1

您可以使用正则表达式获取值。这是一个例子:

var str = '£&nbsp;125.00<!-- End: pagecomponent/pricesplit -->';
parseInt((/\d+/).exec(str)[0], 10);

或者,如果您还想获得零:

(/\d+\.\d+|\d+/g).exec(str)[0]

您无法直接使用它,parseInt因为当字符串不以数字开头时parseInt不起作用。

于 2013-01-21T13:29:14.983 回答