Javascript 将数字四舍五入到小数点后两位,并删除任何其他小数点

Javascript 将数字四舍五入到小数点后两位,并删除任何其他小数点,javascript,Javascript,我有一个javascript函数,它从当前网页中获取一些数据,用户就是其中之一,它获取的一件事就是类名为“price”的元素的内容 目前我使用: price = price.replace(/[^\d.]/g, ""); 这将从元素中除去除数字和小数点以外的任何东西(理论上只留下实际价格)。大多数情况下,这种方法都很有效,例如,当元素的20.99是价格时,您会得到类似20.99的东西 但是,在一些网站上,这一点非常有效,剩下的实际上是一个超过一个小数点的字符串,例如: 20.9999393.9

我有一个javascript函数,它从当前网页中获取一些数据,用户就是其中之一,它获取的一件事就是类名为“price”的元素的内容

目前我使用:

price = price.replace(/[^\d.]/g, "");
这将从元素中除去除数字和小数点以外的任何东西(理论上只留下实际价格)。大多数情况下,这种方法都很有效,例如,当元素的

20.99是价格时,您会得到类似
20.99
的东西

但是,在一些网站上,这一点非常有效,剩下的实际上是一个超过一个小数点的字符串,例如:

20.9999393.9374.028
然后我需要做的是去掉第一个小数点后两位小数点后的所有内容,这样上面的内容就会变成

20.99
试试这个:

 var price = "20.9999393.9374.028";
 var nums = price.split(".");
 var num = nums[0] + '.' + nums[1].substr(0,2);

这是我返回的
21.00
。我相信轮次。我认为20.999933.9374.028不能被视为一个数字。